SSD Nodes Learn 🎉 VPS mula $5.50/buwan
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-13

Pinakamahusay na Self-Hosted na Alternatibong Trello

Ihambing ang Planka, Vikunja, Focalboard, Wekan at Kanboard sa RAM floor, database, SSO, Trello import, at kung alin ang aktibong pinapanatili.

Aling self-hosted na alternatibong Trello ang dapat mong piliin?

Tatlong self-hosted na alternatibong Trello ang sulit mong isaalang-alang: Planka kung gusto mo ang eksaktong board ng Trello at ang import file nito, Vikunja kapag kailangan na ng team ang single sign-on at higit pa sa isang board, at Kanboard kapag maliit ang VPS (virtual private server). Huwag magsimula ng bagong project sa Focalboard. 783 araw nang walang release ang standalone server nito, at humihingi na ngayon ng maintainer ang README nito.

Ang Wekan ang ikalimang tool sa 5 tool dito. Gumagana ito, pero ilang ulit na mas malaki ang memory na ginagamit nito kaysa sa lahat ng iba pa. Sinuri ang bawat version, licence, at petsa sa ibaba noong 5 August 2026.

Ilang RAM ang kailangan ng bawat board tool?

ChartTypical idle memory per stack in MB, Docker on Ubuntu 24.04
The data behind this chart
[
  {
    "tool": "Planka + Postgres",
    "idle_memory_mb": 280
  },
  {
    "tool": "Vikunja + SQLite",
    "idle_memory_mb": 110
  },
  {
    "tool": "Focalboard + SQLite",
    "idle_memory_mb": 120
  },
  {
    "tool": "Wekan + FerretDB",
    "idle_memory_mb": 750
  },
  {
    "tool": "Kanboard + SQLite",
    "idle_memory_mb": 70
  }
]

Karaniwang idle figures ang mga ito para sa fresh install na walang gumagamit, ang uri ng numerong nire-report ng docker stats isang minuto matapos umandar ang stack. Gamitin ang mga ito sa pag-size ng plan, pagkatapos ay sukatin ang sarili mong deployment. Mas mahalaga ang pattern kaysa sa eksaktong megabyte.

Ang Kanboard ang may pinakamababang requirement na 70 MB dahil PHP ito na gumagamit ng SQLite. Walang long-running application process na nag-iingat ng boards sa memory, kaya halos walang ginagamit ang container habang naghihintay sa pagitan ng mga request. Ang Vikunja ay isang Go binary na gumagamit ng 110 MB, at SQLite ang default nitong database, kaya isang container ang buong stack. Kailangan ng Planka ng 280 MB dahil palagi itong binubuo ng dalawang container: isang Node server at PostgreSQL. Walang SQLite option ang Planka, kaya hindi maaaring alisin ang database.

Gumagamit ang Wekan ng 750 MB dahil Meteor application ito. Nag-iingat ang Meteor ng live query layer sa Node memory at ipinapadala ang bawat pagbabago sa board sa lahat ng bukas na browser gamit ang WebSocket, kaya tumataas ang memory usage batay sa bilang ng mga nakakonektang user sa halip na manatiling flat. Sa isang 1 GB VPS, nagsisimula ang Wekan ngunit namamatay sa unang pagkakataong magbukas ang ilang user ng malaking board. Ang sintomas ay container na nawawala at muling lumilitaw na may exit code 137, na ipinapakita ng docker compose ps bilang restart loop. Kumpirmahin ito sa host gamit ang dmesg -T | grep -i "out of memory", dahil hindi ipinapaalam ng kernel out-of-memory killer sa application ang nangyari.

Nagtatakda ang database dependency ng kalahati ng iyong backup work, kaya narito ito sa tig-isang linya. Kailangan ng Planka ang PostgreSQL. Default ng Vikunja ang SQLite, at sinusuportahan din nito ang PostgreSQL at MySQL o MariaDB. Default ng Kanboard ang SQLite, at sinusuportahan din nito ang MySQL, MariaDB, at PostgreSQL; inirerekomenda ng documentation nito ang PostgreSQL at nagbababala laban sa paggamit ng SQLite sa NFS (network file system). Default ng Focalboard ang SQLite. Ginagamit ng Wekan ang MongoDB wire protocol, at ang default nitong Compose file ay may kasamang FerretDB v1 na may embedded SQLite backend sa halip na aktuwal na MongoDB server. May hiwalay na MongoDB 7 Compose file kung kailangan mo nito.

Alin sa mga proyektong ito ang pinananatili pa rin?

ChartAge of the newest stable release in days, checked 5 August 2026
The data behind this chart
[
  {
    "tool": "Planka 2.1.1",
    "release_age": 109
  },
  {
    "tool": "Vikunja 2.5.0",
    "release_age": 1
  },
  {
    "tool": "Focalboard 8.0.0",
    "release_age": 783
  },
  {
    "tool": "Wekan 10.67",
    "release_age": 1
  },
  {
    "tool": "Kanboard 1.2.53",
    "release_age": 12
  }
]

Ang Focalboard ang natatangi sa 783 araw. Ang huli nitong standalone release, v8.0.0, ay inilabas noong June 2024. Inilipat ng Mattermost ang development ng board sa isang plugin sa hiwalay na repository, at sinasabi sa standalone README na kasalukuyan nang hindi pinananatili ang repository. Ito ang malinaw na "hindi" sa paghahambing na ito. Ang iba ay may kanya-kanyang trade-off.

Malusog ang 109 araw ng Planka para sa isang proyektong naglalabas ng ilang release bawat taon. Noong April 2026 inilabas ang Version 2.1.1. Inilabas ng Kanboard ang v1.2.53 12 araw bago ang check, at inilabas ang dalawang naunang release nito noong March at April 2026.

Parehong naglabas ang Vikunja at Wekan sa loob ng isang araw bago ang check, pero dapat magkaiba ang interpretasyon sa dalawang fact na ito. Itinag ng Vikunja ang v2.5.0 bilang ordinaryong minor release. Itinag naman ng Wekan ang v10.65, v10.66, at v10.67 sa parehong araw, na siyang normal nitong cadence. Hindi nangangahulugan ang madalas na releases na stable ang target. Sa Wekan, pinipili mong subaybayan ang mabilis magbago na version number, kaya i-pin ang tag at basahin ang release notes bago ang bawat bump.

Higit pa ba sa board ang makukuha mo?

Karamihan sa mga comparison post ay nagtatapos sa “kamukha ito ng Trello.” Mas mahalaga ang axis na ito kaysa sa RAM, dahil hindi angkop ang board sa anumang may deadline.

  • Ang Planka ay board tool lamang: projects, boards, lists, cards, labels, checklists, comments, at attachments. Pro feature ang calendar at map views simula Agosto 2026.
  • Nagbibigay ang Vikunja ng apat na view para sa iisang set ng tasks: List, Kanban, Table, at Gantt. Isang beses lang umiiral ang task, at nagpapalit ka ng view sa halip na mag-duplicate nito.
  • Ang Kanboard ay boards na may work-in-progress limits, subtasks, attachments, comments, automatic actions, at maliit na query language para sa filtering. Sinasabi sa sarili nitong homepage na “The number of features is voluntarily limited,” at makatarungan ang paglalarawang iyon.
  • Ang Wekan ay boards na may swimlanes, kasama ang checklists, custom fields, REST (representational state transfer) API, at webhooks.
  • Nag-aalok ang Focalboard ng board, table, at calendar views para sa iisang set ng cards. Isinama ito rito para sa completeness.

Kung ang aktuwal mong kailangan ay wiki na may nakadugtong na task tracking, maling comparison ito. Sinasaklaw ng BookStack, Wiki.js at Outline ang ganitong uri, at tinatalakay ng mga self-hosted na alternatibo sa Notion ang all-in-one workspace.

Multi-user access at single sign-on

Sinusuportahan ng Planka ang OpenID Connect sa libreng Community edition. Naka-comment out sa official Compose file ang mga setting, kabilang ang OIDC_ISSUER, OIDC_CLIENT_ID at OIDC_CLIENT_SECRET, kaya kailangan mo lamang alisin ang comment sa mga ito sa halip na mag-upgrade. Pro feature ang mga guest role para sa mga taong nasa labas ng iyong organisasyon.

Sinusuportahan ng Vikunja ang OpenID Connect gamit ang ilang provider nang sabay-sabay. Itakda ang VIKUNJA_AUTH_OPENID_ENABLED=true, pagkatapos ay magdagdag ng isang block ng mga variable na VIKUNJA_AUTH_OPENID_PROVIDERS_<ID>_* para sa bawat provider. Mayroon din itong teams at sharing sa bawat project, na siyang kailangan talaga ng isang organisasyong may dalawampung tao.

Sinusuportahan ng Wekan ang LDAP (lightweight directory access protocol), OAuth2, OIDC at SAML. May built-in na LDAP ang Kanboard at generic OAuth2 plugin para sa iba pang gamit, pati mga role at group sa bawat project. Walang single sign-on ang standalone server ng Focalboard, na isa pang dahilan para hindi ito isama.

Maaaring ipares ang alinman sa mga ito sa isang Authentik identity provider na ikaw mismo ang nagpapatakbo, na karaniwang mas mainam kaysa bigyan ang dalawampung tao ng hiwalay na password para sa bawat app.

Maaari mo bang i-import ang iyong mga Trello board?

Pinakasimple ang proseso sa Planka. I-export ang board mula sa Trello bilang JSON, gumawa ng board sa Planka, i-click ang Import, at piliin ang Trello. Basahin muna ang mga limitasyon dahil aktuwal na nalalapat ang mga ito: hindi ini-import ang mga user at attachment, isang checklist lang bawat card ang naililipat, at ang default na JSON export ng Trello ay humihinto sa 1,000 action nang walang babala na na-truncate ito. Suriin mismo ang file bago pagkatiwalaan ang resulta.

Nag-i-import ang Vikunja gamit ang OAuth flow ng Trello, sa Settings at pagkatapos ay "Import from other services". Kailangang i-enable ang bawat migrator sa config bago lumitaw ang icon nito, at dapat tama ang VIKUNJA_SERVICE_PUBLICURL dahil nangyayari ang OAuth redirect sa iyong browser, hindi sa server. Nag-i-import din ang Vikunja mula sa Todoist, Microsoft To Do, TickTick, at Wekan.

Tumatanggap ang Wekan ng Trello board JSON na ipinapaste sa import form nito. Walang built-in na Trello importer ang Kanboard. Ito ang pangunahing dahilan para laktawan ito kung ililipat mo ang Trello history na naipon sa loob ng maraming taon.

Ano ang mobile experience?

Ang Vikunja lamang sa lima ang may official mobile apps. Kasabay ng bawat release ang mga build para sa Android at iOS, at inilalarawan ng app repository nito ang sarili bilang alpha. Kaya ituring ito bilang companion ng web interface, hindi bilang pangunahing paraan ng pag-access. Walang official app mula sa project ang Planka, bagama't responsive ang web interface nito at may mga third-party client. Web-only ang Wekan at Kanboard, at malinaw na ginawa ang interface ng Kanboard para sa desktop screen.

Ang usapin ng lisensya, at kung bakit naiiba ang Planka

Hindi na open source ang Planka, at ito ang katotohanang kadalasang hindi isinasama sa mga paghahambing. Nagsimula ito sa ilalim ng MIT, lumipat sa AGPL-3.0 noong 2023, at mula sa 2.0 series ay inilalabas ito sa ilalim ng PLANKA Community License, isang fair-code license na pagmamay-ari ng PLANKA Software GmbH. Iniuulat ng GitHub ang lisensya nito bilang "Other" dahil hindi aprubado ng OSI ang lisensyang iyon. Libre at tahasang pinapahintulutan ang self-hosting para sa sarili mong mga user, kabilang ang personal, internal, non-profit, at educational na paggamit. Kailangan ng commercial license ang muling pagbebenta ng access dito o pagpapatakbo nito bilang service para sa ibang kumpanya.

Para sa dalawang tao, makatarungan ang kasunduang ito. Para sa isang kumpanya, dapat basahin muna ang term na ito bago ito gamitin sa trabaho ng dalawampung tao. Ang iba pang apat ay karaniwang open source: AGPL-3.0 ang Vikunja, MIT ang Wekan at Kanboard, at kombinasyon ng Apache 2.0 at AGPL-3.0 ang Focalboard.

Mga pinned na Compose file para sa dalawang pinili

I-pin ang image tag. Ang latest ay nangangahulugang maaaring tumalon ang susunod na docker compose pull sa ibang major version, at nagpapatakbo ang mga major version ng database migration na hindi madaling i-reverse. Ang dalawang file sa ibaba ay mula sa upstream at naka-pin ang tag sa aktuwal na release.

Vikunja sa SQLite, isang container:

services:
  vikunja:
    image: vikunja/vikunja:2.5.0
    restart: unless-stopped
    environment:
      VIKUNJA_SERVICE_PUBLICURL: https://tasks.example.com
      VIKUNJA_SERVICE_SECRET: replace-with-a-long-random-string
      VIKUNJA_SERVICE_TIMEZONE: Europe/Berlin
      VIKUNJA_DATABASE_TYPE: sqlite
      VIKUNJA_DATABASE_PATH: /app/vikunja/files/vikunja.db
    ports:
      - "127.0.0.1:3456:3456"
    volumes:
      - ./files:/app/vikunja/files

Gawin muna ang data directory at itakda ang tamang owner, dahil tumatakbo ang container bilang UID 1000 at hindi ito makakasulat sa directory na pagmamay-ari ng root:

mkdir -p files && sudo chown 1000 files
docker compose up -d
docker compose ps
curl -sf http://127.0.0.1:3456/api/v1/info

Sa healthy na stack, ipinapakita ang service bilang running, at nagbabalik ang info endpoint ng JSON na may version field. Ibig sabihin ng connection refused dito ay nag-exit ang container. Tinutukoy ng docker compose logs vikunja ang dahilan, at ang permission error sa database file ang karaniwang sanhi.

Planka sa PostgreSQL, dalawang container:

services:
  planka:
    image: ghcr.io/plankanban/planka:2.1.1
    restart: unless-stopped
    volumes:
      - data:/app/data
    ports:
      - "127.0.0.1:3000:1337"
    environment:
      - BASE_URL=https://boards.example.com
      - DATABASE_URL=postgresql://postgres@postgres/planka
      - SECRET_KEY=replace-with-openssl-rand-hex-64
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=planka
      - POSTGRES_HOST_AUTH_METHOD=trust
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  data:
  db-data:

Ibig sabihin ng POSTGRES_HOST_AUTH_METHOD=trust ay tumatanggap ang PostgreSQL ng anumang connection nang walang password. Ligtas lamang ito dahil hindi inilalathala sa host ang database port, kaya ang tanging makakaabot dito ay ang kabilang container sa parehong Compose network. Huwag magdagdag ng ports: entry sa postgres service.

Hindi dapat direktang humarap sa internet ang alinmang stack. Pareho silang nagbi-bind sa 127.0.0.1, kaya maglagay ng reverse proxy sa unahan at doon i-terminate ang TLS (transport layer security). Ang Traefik sa unahan ng ilang Compose app ang karaniwang paraan kapag nagho-host ka na ng higit sa isang serbisyo, at saklaw ng pangunahing guide sa Docker Compose ang mga bahagi ng mga file na hindi ipinaliwanag sa page na ito.

Board tool ang database mo, kaya i-back up ito

Tahimik na nagfa-fail ang isang board tool. Walang nakakapansin na walang backup hanggang mawala ang isang volume, at ang sirang SQLite file ay karaniwang bumubukas nang normal bago mag-report makalipas ang database disk image is malformed linggo.

Huwag kailanman kumopya ng live SQLite file gamit ang cp. Maaaring maabutan ng kopya ang isang isinusulat pa, kaya mukhang kumpleto ang archive pero nagre-restore ito bilang database na may nawawalang rows. Ihinto ang service sa ilang segundo habang isinasagawa ang pagkopya:

docker compose stop vikunja
tar czf vikunja-$(date +%F).tgz files
docker compose start vikunja

Para sa Planka, i-dump ang PostgreSQL sa halip na kopyahin ang data directory ng tumatakbong cluster. I-back up nang hiwalay ang uploads volume dahil wala sa database ang mga attachment:

docker compose exec -T postgres pg_dump -U postgres -Fc planka > planka-db.dump
docker volume ls
docker run --rm -v planka_data:/data -v "$PWD":/backup alpine \
  tar czf /backup/planka-files.tgz -C /data .

Ipinapakita ng docker volume ls ang aktuwal na volume name. Binubuo ito ng Compose project name na sinusundan ng _data. Kapag nagbigay ka ng pangalang walang katumbas na volume, gagawa ito ng walang-lamang volume at magbibigay ng valid pero empty na archive nang walang error. Kaya suriin ang file size pagkatapos.

I-restore ito nang isang beses sa isang scratch stack sa parehong box, at magbukas ng card na natatandaan mo. Ang backup na hindi mo pa kailanman na-restore ay hula lamang. Ipadala rin sa labas ng server ang mga archive. Ang kopyang naka-store sa VPS na pinoprotektahan mo ay hindi backup. Saklaw ng restic backups mula sa isang VPS ang bahaging iyon.

Dalawang rekomendasyon

Dalawang tao sa isang 2 GB VPS: gamitin ang Planka. Ito ang pinakamalapit sa Trello sa hitsura at pag-uugali, drag-and-drop na file ang Trello import, at ang 280 MB na idle memory ay nag-iiwan ng malaking bahagi ng 2 GB para sa reverse proxy at iba pang iho-host mo. Sinasaklaw ng Community License ang internal team na may dalawang tao nang walang bayad. Kung ayaw mong umasa sa source-available na license, ang Vikunja sa SQLite na gumagamit ng 110 MB ang open-source na opsyon para sa parehong box.

Dalawampung tao sa isang organisasyon: gamitin ang Vikunja sa PostgreSQL. Sa ganitong laki, kailangan mo ng OpenID Connect sa halip na dalawampung local password, kailangan mo ng teams at pagbabahagi sa bawat project, at hindi kasya sa board ang malaking bahagi ng trabaho. Dahil dito, hindi na simpleng dagdag lang ang List, Table, at Gantt views. Nangangahulugan din ang AGPL-3.0 na walang pag-uusap tungkol sa license habang lumalaki ang bilang ng tao. Gamitin ang PostgreSQL sa halip na SQLite, ilagay ito sa likod ng reverse proxy, at panatilihin ang daily dump sa ibang server.

Kung wala pang 1 GB ng RAM ang box, hindi naaangkop ang alinman sa dalawang sagot. Gamitin ang Kanboard sa 70 MB, tanggapin na kailangan mong muling i-type ang mga Trello card, at gamitin ang natipid na memory para sa ibang bagay mula sa shortlist ng self-hosting para sa 2026. Ang detalyadong installation para sa tool na pipiliin mo ay dapat nasa sarili nitong guide. Ang page na ito ay para sa pagpili lamang.

FAQ

Aling self-hosted na alternatibo sa Trello ang may pinakamababang RAM?

Ang Kanboard, na humigit-kumulang 70 MB kapag idle, dahil PHP ito na may SQLite at walang pinananatiling data sa memory sa pagitan ng mga request. Kasunod ang Vikunja, na nasa humigit-kumulang 110 MB bilang iisang Go binary. Pinakamabigat ang Wekan, na nasa humigit-kumulang 750 MB, dahil pinananatili ng Meteor ang live query layer sa Node memory para sa bawat nakakonektang browser. Sukatin ang sarili mong instance gamit ang docker stats kapag idle na ang stack, dahil mga karaniwang halaga lamang ang mga ito at hindi garantiya.

Maaari ko bang i-import ang aking Trello boards sa isang self-hosted na tool?

Direktang tumatanggap ang Planka at Wekan ng JSON board export mula sa Trello. Nag-i-import ang Vikunja sa pamamagitan ng OAuth flow ng Trello, at kailangang i-enable ang migrator sa config bago ito lumitaw sa interface. Walang built-in importer ang Kanboard. May dalawang limitasyong dapat paghandaan: hindi nag-i-import ang Planka ng users o attachments at isang checklist lamang bawat card ang pinangangasiwaan nito; bukod dito, humihinto ang default JSON export ng Trello sa 1,000 actions nang hindi ipinapaalam na na-truncate ito.

Magandang pagpipilian pa rin ba ang Focalboard sa 2026?

Hindi. Ang huling standalone release, v8.0.0, ay mula pa noong June 2024. 783 days na ito bago sinuri ang comparison noong 5 August 2026, at sinasabi ng README na kasalukuyang hindi maintained ang repository. Ipinagpatuloy ng Mattermost ang board development bilang plugin lamang sa hiwalay na repository, kaya ang server na ise-self-host mo ang bahaging tumigil. Sa halip, piliin ang Planka o Vikunja.

Open source pa rin ba ang Planka?

Hindi ayon sa depinisyon ng OSI. MIT ang lisensya ng Planka dati, lumipat ito sa AGPL-3.0 noong 2023, at inilalabas ito sa ilalim ng PLANKA Community License mula version 2.0 pataas. Libre ang self-hosting para sa personal, internal, non-profit at educational na paggamit. Nangangailangan ng commercial licence ang muling pagbebenta ng access o pagpapatakbo nito bilang service para sa third parties. Nasa Pro tier ang calendar view, guest roles at recurring cards. Kung mahigpit na requirement ang OSI-approved licence, AGPL-3.0 ang Vikunja at MIT ang Kanboard.

Kailangan ko ba ng PostgreSQL, o sapat na ang SQLite?

Default na gumagamit ng SQLite ang Vikunja, Kanboard at Focalboard, at sapat ito para sa ilang tao sa iisang server. Nangangailangan ang Planka ng PostgreSQL at walang SQLite option. Lumipat sa PostgreSQL kapag sabay-sabay nang may ilang taong nagsusulat ng data, dahil sini-serialize ng SQLite ang writes at nagsisimulang magbalik ang isang abalang instance ng database is locked. Huwag ding ilagay ang SQLite file sa network share: nagbababala ang documentation ng Kanboard laban sa paggamit ng SQLite sa NFS dahil mismo sa problemang ito.

#kanban#project-management#planka#vikunja#self-hosting#docker