SSD Nodes Learn 🎉 VPS kutoka $5.50/mwezi
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-08-13

Mbadala bora wa Trello wa kujihudumia (self-hosted)

Linganisha Planka, Vikunja, Focalboard, Wekan na Kanboard. Tunachambua matumizi ya RAM, usaidizi wa SSO, uwezo wa kuingiza data kutoka Trello na hali ya usimamizi wa kila zana.

Ni mbadala gani wa Trello wa kujihudumia (self-hosted) unapaswa kuchagua?

Kuna mbadala tatu za Trello za kujihudumia zinazofaa muda wako: Planka ikiwa unataka ubao kamili wa Trello na faili lake la kuingiza data (import), Vikunja pindi timu inapohitaji single sign-on na zaidi ya ubao tu, na Kanboard wakati VPS (virtual private server) yako ni ndogo. Usianzishe mradi mpya kwenye Focalboard. Seva yake ya pekee haijapata release yoyote kwa siku 783, na README yake sasa inaomba mtu wa kuisimamia (maintainer).

Wekan ni chombo cha tano kati ya 5 zilizopo hapa. Inafanya kazi, na inatumia kumbukumbu (memory) mara nyingi zaidi kuliko nyingine zote. Kila toleo, leseni na tarehe iliyo hapa chini ilikaguliwa tarehe 5 Agosti 2026.

Kila zana ya ubao inahitaji kiasi gani cha RAM?

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
  }
]

Hizo ni takwimu za kawaida za hali ya kutofanya kazi (idle) kwa usakinishaji mpya ambao haujatumiwa na mtu yeyote, aina ya namba ambayo docker stats huripoti dakika moja baada ya stack kuanza kufanya kazi. Zitumie kwa ajili ya kupanga ukubwa wa mpango wako, kisha pima matumizi yako mwenyewe. Umbo la matumizi ni muhimu zaidi kuliko idadi kamili ya megabytes.

Kanboard ndiyo ya chini kabisa ikiwa na 70 MB kwa sababu ni PHP inayotumia SQLite. Hakuna mchakato wa programu unaoendelea kwa muda mrefu unaoshikilia mbao zako kwenye kumbukumbu, kwa hivyo container hubaki bila kufanya kazi kati ya maombi. Vikunja ni binary moja ya Go yenye 110 MB, na SQLite ndiyo database yake ya kawaida, kwa hivyo container moja ndiyo stack nzima. Planka inahitaji 280 MB kwa sababu daima ni container mbili: seva ya Node na PostgreSQL. Planka haina chaguo la SQLite, kwa hivyo database hiyo ni lazima.

Wekan inakaa kwenye 750 MB kwa sababu ni programu ya Meteor. Meteor hushikilia safu ya query hai kwenye kumbukumbu ya Node na kusukuma kila mabadiliko ya ubao kwa kila kivinjari kilicho wazi kupitia WebSocket, kwa hivyo kumbukumbu yake hukua kulingana na idadi ya watu waliounganishwa badala ya kubaki bila kubadilika. Kwenye VPS ya 1 GB, Wekan huanza, kisha hufa mara ya kwanza watu wachache wanapofungua ubao mkubwa. Dalili yake ni container inayopotea na kurudi na exit code 137, ambayo docker compose ps huonyesha kama mzunguko wa kuanza upya (restart loop). Ithibitishe kwenye host kwa kutumia dmesg -T | grep -i "out of memory", kwa sababu kernel out-of-memory killer haiambii programu chochote.

Utegemezi wa database huamua nusu ya kazi yako ya backup, kwa hivyo hapa ni kwa mstari mmoja kila moja. Planka inahitaji PostgreSQL. Vikunja hutumia SQLite kama chaguo-msingi na pia huongea na PostgreSQL na MySQL au MariaDB. Kanboard hutumia SQLite kama chaguo-msingi na pia huongea na MySQL, MariaDB na PostgreSQL, na nyaraka zake hupendekeza PostgreSQL na kuonya dhidi ya kutumia SQLite kwenye NFS (network file system). Focalboard hutumia SQLite kama chaguo-msingi. Wekan huongea na itifaki ya MongoDB, na faili yake ya kawaida ya Compose sasa husafirisha FerretDB v1 ikiwa na backend ya SQLite iliyopachikwa badala ya seva halisi ya MongoDB, ikiwa na faili tofauti ya MongoDB 7 Compose ikiwa unataka moja.

Ni miradi ipi kati ya hii bado inatunzwa?

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
  }
]

Focalboard ndiyo mradi pekee ulio nje ya mstari ukiwa na 783 siku. Toleo lake la mwisho la pekee, v8.0.0, ni la Juni 2024. Mattermost ilihamishia maendeleo ya ubao kwenye plugin katika hazina (repository) tofauti, na README ya toleo la pekee inasema hazina hiyo haitunzwi kwa sasa. Hiyo ndiyo "hapana" moja iliyo wazi katika ulinganisho huu. Miradi mingine yote inahitaji kuzingatia faida na hasara.

Siku 109 za Planka ni nzuri kwa mradi unaotoa matoleo machache kwa mwaka. Toleo la 2.1.1 ni la Aprili 2026. Kanboard ilitoa v1.2.53 siku 12 kabla ya ukaguzi, na matoleo mawili yaliyotangulia yalitoka Machi na Aprili 2026.

Vikunja na Wekan zote zilitoa matoleo ndani ya siku moja ya ukaguzi, na unapaswa kusoma ukweli huo kwa njia tofauti. Vikunja iliweka tag ya v2.5.0 kama toleo dogo la kawaida. Wekan iliweka tag ya v10.65, v10.66 na v10.67 katika siku moja, ambayo ndiyo kasi yake ya kawaida. Matoleo ya mara kwa mara hayamaanishi kuwa mradi ni thabiti. Kwa Wekan, unachagua kufuata namba ya toleo inayobadilika haraka, kwa hivyo funga (pin) tag husika na usome maelezo kabla ya kila sasisho.

Je, unapata zaidi ya ubao tu?

Machapisho mengi ya kulinganisha huishia kwenye "inaonekana kama Trello". Mhimili huu huamua zaidi kuliko RAM, kwa sababu ubao ni umbo duni kwa chochote chenye tarehe ya mwisho.

  • Planka ni zana ya ubao na si kitu kingine: miradi, mbao, orodha, kadi, lebo, orodha za hakiki, maoni na viambatisho. Mitazamo ya kalenda na ramani ni vipengele vya Pro kuanzia Agosti 2026.
  • Vikunja hutoa mitazamo minne juu ya seti moja ya kazi: Orodha, Kanban, Jedwali na Gantt. Kazi ipo mara moja, na unabadilisha mtazamo badala ya kuinakili.
  • Kanboard ni mbao zenye mipaka ya kazi zinazoendelea, kazi ndogo, viambatisho, maoni, vitendo vya kiotomatiki na lugha ndogo ya hoja kwa ajili ya kuchuja. Ukurasa wake wa nyumbani unasema "Idadi ya vipengele imepunguzwa kwa hiari", ambayo ni maelezo sahihi.
  • Wekan ni mbao zenye njia za kuogelea (swimlanes), pamoja na orodha za hakiki, sehemu maalum, REST (representational state transfer) API na webhooks.
  • Focalboard ilitoa mitazamo ya ubao, jedwali na kalenda juu ya kadi zilezile. Imeorodheshwa hapa kwa ajili ya ukamilifu.

Ikiwa unachotaka hasa ni wiki yenye ufuatiliaji wa kazi ulioambatishwa, huu ni ulinganisho usio sahihi. BookStack, Wiki.js na Outline inashughulikia umbo hilo, na mbadala za Notion zinazojiendesha (self-hosted) inashughulikia nafasi ya kazi ya kila kitu kwa pamoja.

Ufikiaji wa watumiaji wengi na single sign-on

Planka inasaidia OpenID Connect katika toleo la bure la Community. Faili rasmi ya Compose ina mipangilio hiyo ikiwa imefungwa kwa komenti, ikiwemo OIDC_ISSUER, OIDC_CLIENT_ID na OIDC_CLIENT_SECRET, kwa hivyo unapaswa kuondoa komenti badala ya kufanya upgrade. Majukumu ya wageni (guest roles) kwa watu walio nje ya shirika lako ni kipengele cha toleo la Pro.

Vikunja inasaidia OpenID Connect na watoa huduma kadhaa kwa wakati mmoja. Weka VIKUNJA_AUTH_OPENID_ENABLED=true, kisha ongeza block moja ya vigezo vya VIKUNJA_AUTH_OPENID_PROVIDERS_<ID>_* kwa kila mtoa huduma. Pia ina timu na ushirikiano wa kila mradi, jambo ambalo ni hitaji halisi la shirika la watu ishirini.

Wekan inasaidia LDAP (lightweight directory access protocol), OAuth2, OIDC na SAML. Kanboard ina LDAP iliyojengewa ndani na plugin ya jumla ya OAuth2 kwa kila kitu kingine, pamoja na majukumu na vikundi vya kila mradi. Seva ya pekee ya Focalboard haina single sign-on kabisa, ambayo ni sababu ya pili ya kutoitumia.

Yoyote kati ya hizi inaweza kuunganishwa na mtoa huduma wa utambulisho wa Authentik unayejiendeshea mwenyewe, ambayo kwa kawaida ni suluhisho bora kuliko kuwapa watu ishirini nenosiri tofauti kwa kila programu.

Je, unaweza kuingiza (import) mbao zako za Trello?

Planka ina njia rahisi zaidi. Hamisha (export) ubao kutoka Trello kama JSON, tengeneza ubao ndani ya Planka, bofya Import na uchague Trello. Soma vikwazo kwanza, kwa sababu ni vya kweli: watumiaji na viambatisho haviingizwi, orodha moja tu ya vitu (checklist) kwa kila kadi ndiyo inayohamishwa, na usafirishaji wa JSON wa kawaida wa Trello huishia kwenye vitendo 1,000 bila onyo lolote kuwa data imepunguzwa. Kagua faili mwenyewe kabla ya kuamini matokeo.

Vikunja huleta data kupitia mtiririko wa OAuth wa Trello, chini ya Settings kisha "Import from other services". Kila zana ya kuhamisha data lazima iwezeshwe kwenye configuration kabla ya ikoni yake kuonekana, na VIKUNJA_SERVICE_PUBLICURL lazima iwe sahihi, kwa sababu uelekezaji wa OAuth hutokea kwenye kivinjari chako na si kutoka kwenye seva. Vikunja pia huleta data kutoka Todoist, Microsoft To Do, TickTick na Wekan.

Wekan hukubali JSON ya ubao wa Trello iliyobandikwa kwenye fomu yake ya kuingiza data. Kanboard haina zana ya ndani ya kuingiza data kutoka Trello, ambayo ndiyo sababu kuu ya kuiepuka ikiwa una historia ya miaka mingi ya Trello unayotaka kuhamisha.

Uzoefu wa simu ya mkononi ukoje?

Vikunja ndiyo pekee kati ya hizo tano yenye programu rasmi za simu. Matoleo ya Android na iOS husafirishwa pamoja na kila release, na hazina ya programu hiyo inajieleza kama alpha, kwa hivyo ichukulie kama nyongeza ya kiolesura cha wavuti badala ya njia kuu ya kuitumia. Planka haina programu rasmi kutoka kwa mradi huo, ingawa kiolesura chake cha wavuti kinaitikia (responsive) na kuna wateja wa watu wengine wanaopatikana. Wekan na Kanboard ni za wavuti pekee, na kiolesura cha Kanboard kimejengwa waziwazi kwa ajili ya skrini ya kompyuta ya mezani.

Swali la leseni, na kwa nini Planka ni tofauti

Planka si programu huria (open source) tena, na hili ni jambo ambalo ulinganisho mwingi huacha kulitaja. Ilianza chini ya leseni ya MIT, ikahamia AGPL-3.0 mnamo 2023, na kuanzia toleo la 2.0 inasambazwa chini ya PLANKA Community License, leseni ya "fair-code" inayomilikiwa na PLANKA Software GmbH. GitHub inaripoti leseni yake kama "Other" kwa sababu leseni hiyo haijaidhinishwa na OSI. Kujiendeshea programu hii (self-hosting) kwa ajili ya watu wako ni bure na inaruhusiwa waziwazi, ikijumuisha matumizi ya kibinafsi, ya ndani, yasiyo ya faida, na ya kielimu. Kuuza ufikiaji wa programu hii, au kuiendesha kama huduma kwa makampuni mengine, kunahitaji leseni ya kibiashara.

Kwa watu wawili, huu ni mpango mzuri. Kwa kampuni, ni sharti la kusoma kabla ya kazi ya watu ishirini haijawekwa ndani yake. Nyingine nne ni programu huria za kawaida: Vikunja ni AGPL-3.0, Wekan na Kanboard ni MIT, na Focalboard ni mchanganyiko wa Apache 2.0 na AGPL-3.0.

Kufunga matoleo ya faili za Compose kwa chaguo hizi mbili

Funga tag ya image. latest inamaanisha kuwa docker compose pull inayofuata inaweza kukuhamisha kwenye toleo kuu (major version) jipya, na matoleo makuu huendesha mabadiliko ya database (migrations) ambayo huwezi kuyatengua kwa urahisi. Faili zote mbili hapa chini ni zile za asili (upstream) zikiwa na tag iliyofungwa kwenye toleo halisi.

Vikunja kwenye SQLite, kontena moja:

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

Unda saraka ya data (data directory) ukiwa na mmiliki sahihi kwanza, kwa sababu kontena huendeshwa kama UID 1000 na haliwezi kuandika kwenye saraka inayomilikiwa na 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

Stack yenye afya huonyesha huduma kama running, na endpoint ya info hurejesha JSON yenye uwanja wa version. Ujumbe wa "Connection refused" hapa unamaanisha kuwa kontena limezimika. docker compose logs vikunja hutaja sababu, na hitilafu ya ruhusa (permission error) kwenye faili ya database ndiyo ya kawaida.

Planka kwenye PostgreSQL, makontena mawili:

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:

POSTGRES_HOST_AUTH_METHOD=trust inamaanisha kuwa PostgreSQL inakubali muunganisho wowote bila nenosiri. Hii ni salama tu kwa sababu port ya database haijachapishwa (publish) kwenye host, hivyo kitu pekee kinachoweza kuifikia ni kontena lingine kwenye mtandao uleule wa Compose. Usiongeze ingizo la ports: kwenye huduma ya postgres.

Hakuna stack kati ya hizi inayopaswa kukabili Internet moja kwa moja. Zote hufungwa kwenye 127.0.0.1, kwa hivyo weka reverse proxy mbele na umalizie TLS (transport layer security) hapo. Traefik mbele ya programu kadhaa za Compose ndiyo njia ya kawaida ya kufanya hivyo pindi unapoendesha zaidi ya kitu kimoja, na mwongozo wa misingi ya Docker Compose unashughulikia sehemu za faili hizi ambazo ukurasa huu unaziruka.

Ubao wako ni database, kwa hivyo uhifadhi nakala

Zana ya ubao inaweza kufeli kimya kimya. Hakuna anayegundua nakala iliyokosekana hadi volume ipotee, na faili la SQLite lililoharibika litafunguka kawaida na kisha kutoa ripoti baada ya database disk image is malformed wiki.

Usinakili kamwe faili la SQLite linalotumika kwa kutumia cp. Nakala hiyo inaweza kunasa uandishi unaoendelea, kwa hivyo kumbukumbu itaonekana imekamilika na itarejeshwa kwenye database inayokosa safu. Simamisha huduma kwa sekunde chache ambazo nakala inachukua:

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

Kwa Planka, toa dump ya PostgreSQL badala ya kunakili saraka ya data ya cluster inayofanya kazi, na uchukue volume ya uploads kando, kwa sababu viambatisho havimo ndani ya database:

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 .

docker volume ls huchapisha jina halisi la volume, ambalo ni jina la mradi wako wa Compose likifuatiwa na _data. Kupitisha jina lisilokuwepo kutaunda volume tupu na kukupa kumbukumbu halali lakini tupu bila kutoa kosa, kwa hivyo angalia ukubwa wa faili baadaye.

Kisha irejeshe mara moja, kwenye stack ya majaribio kwenye seva hiyo hiyo, na ufungue kadi unayokumbuka. Nakala ambayo hujawahi kuirejesha ni kubahatisha tu. Tuma kumbukumbu hizo nje ya seva pia, kwa sababu nakala iliyohifadhiwa kwenye VPS unayolinda si nakala halisi. restic backups from a VPS inashughulikia nusu hiyo.

Mapendekezo mawili

Watu wawili kwenye VPS ya 2 GB: tumia Planka. Hii ndiyo programu inayofanana zaidi na Trello kwa mwonekano na utendaji, uingizaji wa data kutoka Trello ni faili unayoburuta tu, na 280 MB ya kumbukumbu isiyotumika huacha sehemu kubwa ya 2 GB ikiwa wazi kwa ajili ya reverse proxy na huduma nyingine unazohifadhi. Community License inagharamia timu ya ndani ya watu wawili bila malipo. Ikiwa hutaki kutegemea leseni ya source-available, Vikunja inayotumia SQLite kwa 110 MB ndiyo chaguo la open-source kwa seva hiyo hiyo.

Watu ishirini katika shirika: tumia Vikunja kwenye PostgreSQL. Kwa idadi hiyo, unahitaji OpenID Connect badala ya nywila ishirini za ndani, unahitaji timu na ushirikiano wa kila mradi, na kazi nyingi hazitatoshea kwenye ubao, hivyo mwonekano wa List, Table na Gantt huacha kuwa nyongeza tu. AGPL-3.0 pia inamaanisha hakuna mjadala wa leseni idadi ya wafanyakazi inapoongezeka. Ipe PostgreSQL badala ya SQLite, iweke nyuma ya reverse proxy, na uhifadhi nakala ya kila siku (daily dump) mahali pengine nje ya seva hiyo.

Ikiwa seva ina chini ya 1 GB ya RAM, hakuna jibu kati ya hayo linalofaa. Tumia Kanboard kwa 70 MB, kubali kuwa utaandika upya kadi zako za Trello, na tumia kumbukumbu uliyookoa kwa kitu kingine kutoka orodha fupi ya self-hosting kwa mwaka 2026. Usakinishaji wa kina wa zana yoyote utakayochagua unapatikana katika mwongozo wake maalum. Ukurasa huu ni kwa ajili ya chaguo pekee.

FAQ

Ni mbadala gani wa Trello wa kujihostia (self-hosted) unaotumia RAM kidogo zaidi?

Kanboard, kwa takriban 70 MB ikiwa imetulia, kwa sababu ni PHP inayotumia SQLite na haihifadhi chochote kwenye kumbukumbu kati ya maombi. Vikunja inafuata kwa takriban 110 MB kama binary moja ya Go. Wekan ndiyo nzito zaidi kwa takriban 750 MB, kwa sababu Meteor huweka safu ya live query kwenye kumbukumbu ya Node kwa kila kivinjari kilichounganishwa. Pima matumizi yako mwenyewe kwa kutumia docker stats pindi stack inapokuwa imetulia, kwani hizi ni takwimu za kawaida na si ahadi.

Je, ninaweza kuingiza (import) mbao zangu za Trello kwenye zana ya kujihostia?

Planka na Wekan zote hupokea JSON export ya mbao za Trello moja kwa moja. Vikunja huingiza kupitia OAuth flow ya Trello, na migrator lazima iwezeshwe kwenye configuration kabla haijaonekana kwenye interface. Kanboard haina importer iliyojengwa ndani. Kuna mipaka miwili ya kuzingatia: Planka haiingizi watumiaji au viambatisho na hushughulikia checklist moja tu kwa kila kadi, na JSON export ya kawaida ya Trello huishia kwenye actions 1,000 bila kukuonya kuwa imekata data.

Je, Focalboard bado ni chaguo zuri mwaka 2026?

Hapana. Toleo la mwisho la pekee, v8.0.0, ni la Juni 2024, ambalo lilikuwa 783 siku kabla ya kulinganisha huku kukaguliwa tarehe 5 Agosti 2026, na README inasema kuwa repository hiyo haitunzwi kwa sasa. Mattermost iliendeleza ukuzaji wa mbao kama plugin tu kwenye repository tofauti, kwa hivyo seva unayoweza kujihostia ndiyo sehemu iliyoacha kufanya kazi. Chagua Planka au Vikunja badala yake.

Je, Planka bado ni open source?

Si kwa ufafanuzi wa OSI. Planka ilikuwa MIT, ikahamia AGPL-3.0 mwaka 2023, na inatolewa chini ya PLANKA Community License kuanzia toleo la 2.0 na kuendelea. Kujihostia ni bure kwa matumizi ya kibinafsi, ya ndani, yasiyo ya faida, na ya kielimu. Kuuza ufikiaji au kuiendesha kama huduma kwa watu wengine kunahitaji leseni ya kibiashara, na mwonekano wa kalenda, majukumu ya wageni, na kadi zinazojirudia ziko nyuma ya tier ya Pro. Ikiwa leseni iliyoidhinishwa na OSI ni hitaji la lazima, Vikunja ni AGPL-3.0 na Kanboard ni MIT.

Je, ninahitaji PostgreSQL, au SQLite inatosha?

Vikunja, Kanboard na Focalboard hutumia SQLite kama chaguo-msingi, ambayo inatosha kwa watu wachache kwenye seva moja. Planka inahitaji PostgreSQL na haitoi chaguo la SQLite. Hamia kwenye PostgreSQL unapokuwa na watu kadhaa wanaoandika kwa wakati mmoja, kwa sababu SQLite hufanya writes kwa mtiririko (serialise) na instance yenye shughuli nyingi huanza kurejesha database is locked. Usiweke faili ya SQLite kwenye network share pia: nyaraka za Kanboard zinaonya dhidi ya kutumia SQLite kwenye NFS kwa sababu hii hasa.

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