SSD Nodes Learn 🎉 VPS dari $5.50/bln
Panduan Matt ConnorOleh Matt Connor · Dikemas kini 2026-08-13

Alternatif Trello Terbaik yang Dihoskan Sendiri

Bandingkan Planka, Vikunja, Focalboard, Wekan dan Kanboard berdasarkan penggunaan RAM, sokongan SSO serta fungsi import. Ketahui alat mana yang masih aktif diselenggara.

Alternatif Trello yang dihoskan sendiri manakah yang patut anda pilih?

Terdapat tiga alternatif Trello yang dihoskan sendiri yang berbaloi untuk digunakan: Planka jika anda mahukan papan yang serupa dengan Trello serta fungsi import failnya, Vikunja apabila pasukan memerlukan single sign-on dan fungsi yang lebih daripada sekadar papan, dan Kanboard apabila VPS (virtual private server) anda mempunyai spesifikasi rendah. Jangan mulakan projek baharu menggunakan Focalboard. Pelayan kendirinya tidak mempunyai sebarang release dalam tempoh 783 hari yang lalu, dan fail README projek tersebut kini meminta penyelenggara baharu.

Wekan merupakan alat kelima daripada 5 alat yang disenaraikan di sini. Ia berfungsi dengan baik, namun menggunakan memori beberapa kali ganda lebih banyak berbanding alat lain. Setiap versi, lesen dan tarikh di bawah telah disemak pada 5 Ogos 2026.

Berapakah jumlah RAM yang diperlukan oleh setiap alat papan (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
  }
]

Ini adalah angka melahu (idle) tipikal bagi pemasangan baharu tanpa pengguna, iaitu jenis angka yang dilaporkan oleh docker stats seminit selepas stack dihidupkan. Gunakan angka ini untuk merancang saiz pelan, kemudian buat ukuran anda sendiri. Bentuk penggunaan lebih penting daripada jumlah megabait yang tepat.

Kanboard adalah tahap paling rendah pada 70 MB kerana ia menggunakan PHP dengan SQLite. Tiada proses aplikasi yang berjalan lama menyimpan papan anda di dalam memori, jadi container berada dalam keadaan melahu hampir sifar antara permintaan. Vikunja ialah satu binari Go pada 110 MB, dan SQLite adalah pangkalan data lalainya, jadi satu container merangkumi keseluruhan stack. Planka memerlukan 280 MB kerana ia sentiasa terdiri daripada dua container: pelayan Node dan PostgreSQL. Planka tidak mempunyai pilihan SQLite, jadi pangkalan datanya tidak boleh diubah.

Wekan berada pada 750 MB kerana ia merupakan aplikasi Meteor. Meteor menyimpan lapisan pertanyaan langsung (live query layer) dalam memori Node dan menolak setiap perubahan papan kepada setiap pelayar yang dibuka melalui WebSocket, jadi memorinya meningkat mengikut bilangan orang yang bersambung dan tidak kekal statik. Pada VPS 1 GB, Wekan bermula, kemudian terhenti apabila beberapa orang membuka papan yang besar. Simptomnya ialah container hilang dan muncul semula dengan exit code 137, yang ditunjukkan oleh docker compose ps sebagai gelung mula semula (restart loop). Sahkan perkara ini pada hos dengan dmesg -T | grep -i "out of memory", kerana kernel out-of-memory killer tidak pernah memberitahu aplikasi tentang sebarang perkara.

Dependency pangkalan data menentukan separuh daripada kerja sandaran (backup) anda, jadi berikut adalah ringkasannya dalam satu baris setiap satu. Planka memerlukan PostgreSQL. Vikunja menggunakan SQLite secara lalai dan juga menyokong PostgreSQL serta MySQL atau MariaDB. Kanboard menggunakan SQLite secara lalai dan juga menyokong MySQL, MariaDB serta PostgreSQL, dan dokumentasinya mengesyorkan PostgreSQL serta memberi amaran agar tidak menggunakan SQLite pada NFS (network file system). Focalboard menggunakan SQLite secara lalai. Wekan menggunakan protokol komunikasi MongoDB, dan fail Compose lalainya kini menyertakan FerretDB v1 dengan backend SQLite terbenam dan bukannya pelayan MongoDB sebenar, dengan fail Compose MongoDB 7 berasingan jika anda memerlukannya.

Projek manakah yang masih diselenggara?

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 merupakan pengecualian dengan usia 783 hari sejak keluaran terakhir. Keluaran kendiri terakhirnya, v8.0.0, adalah dari Jun 2024. Mattermost telah memindahkan pembangunan papan ke dalam pemalam di repositori berasingan, dan README kendiri menyatakan bahawa repositori tersebut kini tidak diselenggara. Itu adalah satu-satunya jawapan "tidak" yang jelas dalam perbandingan ini. Projek lain adalah berdasarkan pertimbangan kompromi.

Usia 109 hari bagi Planka adalah sihat untuk projek yang mengeluarkan beberapa keluaran setahun. Versi 2.1.1 adalah dari April 2026. Kanboard mengeluarkan v1.2.53 pada 12 hari sebelum pemeriksaan, dan dua keluaran sebelumnya dibuat pada Mac dan April 2026.

Vikunja dan Wekan kedua-duanya membuat keluaran dalam tempoh sehari dari pemeriksaan, dan anda harus mentafsir kedua-dua fakta ini secara berbeza. Vikunja melabelkan v2.5.0 sebagai keluaran minor biasa. Wekan melabelkan v10.65, v10.66, dan v10.67 pada hari yang sama, yang merupakan rentak biasa bagi projek tersebut. Kekerapan keluaran tidak bermakna sasaran yang stabil. Dengan Wekan, anda memilih untuk menjejaki nombor versi yang berubah dengan pantas, jadi tetapkan (pin) tag tersebut dan baca nota keluaran sebelum setiap peningkatan versi.

Adakah anda mendapat lebih daripada sekadar papan?

Kebanyakan hantaran perbandingan hanya berhenti pada "ia kelihatan seperti Trello". Paksi ini lebih menentukan daripada RAM, kerana papan merupakan bentuk yang kurang sesuai untuk sebarang tugasan yang mempunyai tarikh akhir.

  • Planka ialah alat papan dan tiada yang lain: projek, papan, senarai, kad, label, senarai semak, komen dan lampiran. Paparan kalendar dan peta merupakan ciri Pro setakat Ogos 2026.
  • Vikunja memberikan empat paparan untuk satu set tugasan: Senarai, Kanban, Jadual dan Gantt. Sesuatu tugasan hanya wujud sekali, dan anda menukar paparan dan bukannya menduplikasi tugasan tersebut.
  • Kanboard ialah papan dengan had kerja dalam proses (work-in-progress limits), subtugasan, lampiran, komen, tindakan automatik dan bahasa pertanyaan kecil untuk penapisan. Laman utamanya sendiri menyatakan "Bilangan ciri dihadkan secara sukarela", yang merupakan gambaran yang tepat.
  • Wekan ialah papan dengan lorong renang (swimlanes), berserta senarai semak, medan tersuai, API REST (representational state transfer) dan webhook.
  • Focalboard menawarkan paparan papan, jadual dan kalendar untuk kad yang sama. Ia disenaraikan di sini untuk tujuan kelengkapan.

Jika apa yang anda sebenarnya mahukan ialah wiki dengan sedikit penjejakan tugasan yang disertakan, ini adalah perbandingan yang salah. BookStack, Wiki.js dan Outline meliputi bentuk tersebut, dan alternatif Notion yang dihoskan sendiri meliputi ruang kerja serba boleh (all-in-one).

Akses berbilang pengguna dan daftar masuk tunggal

Planka menyokong OpenID Connect dalam edisi Komuniti percuma. Fail Compose rasmi mengandungi tetapan yang dikomen, antaranya OIDC_ISSUER, OIDC_CLIENT_ID dan OIDC_CLIENT_SECRET, jadi anda hanya perlu membuang komen tersebut dan bukannya melakukan naik taraf. Peranan tetamu untuk individu di luar organisasi anda merupakan ciri Pro.

Vikunja menyokong OpenID Connect dengan beberapa penyedia serentak. Tetapkan VIKUNJA_AUTH_OPENID_ENABLED=true, kemudian tambah satu blok pemboleh ubah VIKUNJA_AUTH_OPENID_PROVIDERS_<ID>_* bagi setiap penyedia. Ia juga mempunyai pasukan dan perkongsian mengikut projek, iaitu ciri yang sebenarnya diperlukan oleh organisasi yang mempunyai dua puluh orang kakitangan.

Wekan menyokong LDAP (lightweight directory access protocol), OAuth2, OIDC dan SAML. Kanboard mempunyai LDAP terbina dalam dan pemalam OAuth2 generik untuk segala keperluan lain, di samping peranan dan kumpulan mengikut projek. Pelayan kendiri Focalboard tidak mempunyai sebarang daftar masuk tunggal, yang menjadi sebab kedua untuk tidak menggunakannya.

Mana-mana aplikasi ini boleh digandingkan dengan penyedia identiti Authentik yang anda kendalikan sendiri, yang biasanya merupakan penyelesaian lebih baik berbanding memberikan kata laluan berasingan bagi setiap aplikasi kepada dua puluh orang pengguna.

Bolehkah anda mengimport papan Trello anda?

Planka mempunyai laluan yang paling mudah. Eksport papan daripada Trello sebagai JSON, cipta papan dalam Planka, klik Import dan pilih Trello. Baca hadnya terlebih dahulu kerana ia adalah nyata: pengguna dan lampiran tidak diimport, hanya satu senarai semak bagi setiap kad yang dipindahkan, dan eksport JSON lalai Trello terhenti pada 1,000 tindakan tanpa amaran bahawa ia telah dipotong. Semak fail itu sendiri sebelum anda mempercayai hasilnya.

Vikunja mengimport melalui aliran OAuth Trello, di bawah Settings dan kemudian "Import from other services". Setiap migrator perlu didayakan dalam konfigurasi sebelum ikonnya muncul, dan VIKUNJA_SERVICE_PUBLICURL mestilah betul, kerana pengalihan semula OAuth berlaku dalam pelayar anda dan bukan daripada pelayan. Vikunja juga mengimport Todoist, Microsoft To Do, TickTick dan Wekan.

Wekan menerima JSON papan Trello yang ditampal dalam borang importnya. Kanboard tidak mempunyai pengimport Trello terbina dalam, yang merupakan sebab utama untuk tidak menggunakannya jika anda mempunyai sejarah Trello bertahun-tahun untuk dipindahkan.

Bagaimanakah pengalaman penggunaan mudah alih?

Vikunja merupakan satu-satunya aplikasi daripada lima pilihan ini yang mempunyai aplikasi mudah alih rasmi. Binaan untuk Android dan iOS dikeluarkan bersama setiap release, dan repositori aplikasi tersebut melabelkan dirinya sebagai alpha, jadi anggap ia sebagai pelengkap kepada antara muka web dan bukannya cara utama untuk mengaksesnya. Planka tidak mempunyai aplikasi rasmi daripada projek tersebut, walaupun antara muka webnya bersifat responsif dan terdapat klien pihak ketiga. Wekan dan Kanboard hanya berasaskan web, dan antara muka Kanboard jelas dibina untuk skrin desktop.

Persoalan lesen, dan sebab Planka berbeza

Planka kini bukan lagi perisian sumber terbuka, dan ini merupakan fakta yang sering ditinggalkan dalam kebanyakan perbandingan. Ia bermula di bawah lesen MIT, beralih kepada AGPL-3.0 pada tahun 2023, dan bermula daripada siri 2.0, ia diedarkan di bawah PLANKA Community License, iaitu lesen fair-code yang dipegang oleh PLANKA Software GmbH. GitHub melaporkan lesennya sebagai "Other" kerana lesen tersebut tidak diluluskan oleh OSI. Melakukan self-hosting untuk kegunaan sendiri adalah percuma dan dibenarkan secara eksplisit, merangkumi kegunaan peribadi, dalaman, bukan untung dan pendidikan. Menjual semula akses kepadanya, atau menjalankannya sebagai perkhidmatan untuk syarikat lain, memerlukan lesen komersial.

Bagi dua orang pengguna, ini adalah tawaran yang adil. Bagi sesebuah syarikat, ia adalah terma yang perlu dibaca sebelum kerja dua puluh orang dimasukkan ke dalamnya. Empat perisian yang lain adalah sumber terbuka biasa: Vikunja menggunakan AGPL-3.0, Wekan dan Kanboard menggunakan MIT, manakala Focalboard merupakan gabungan Apache 2.0 dan AGPL-3.0.

Fail Compose yang dipinkan untuk dua pilihan

Pin tag imej tersebut. latest bermakna docker compose pull yang seterusnya boleh membawa anda merentasi versi major, dan versi major menjalankan migrasi pangkalan data yang tidak boleh disongsangkan dengan mudah. Kedua-dua fail di bawah adalah fail asal (upstream) dengan tag yang ditetapkan pada keluaran sebenar.

Vikunja pada SQLite, satu kontena:

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

Cipta direktori data dengan pemilik yang betul terlebih dahulu, kerana kontena berjalan sebagai UID 1000 dan tidak boleh menulis ke dalam direktori milik 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 yang sihat menunjukkan servis sebagai running, dan endpoint info mengembalikan JSON yang mengandungi medan version. Ralat connection refused di sini bermakna kontena telah keluar. docker compose logs vikunja menamakan puncanya, dan ralat kebenaran (permission error) pada fail pangkalan data adalah punca yang biasa berlaku.

Planka pada PostgreSQL, dua kontena:

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 bermakna PostgreSQL menerima sebarang sambungan tanpa kata laluan. Ini selamat hanya kerana port pangkalan data tidak pernah diterbitkan ke hos, jadi satu-satunya perkara yang boleh mencapainya ialah kontena lain pada rangkaian Compose yang sama. Jangan tambah entri ports: pada servis postgres.

Tiada satu pun stack ini harus menghadap internet secara terus. Kedua-duanya terikat pada 127.0.0.1, jadi letakkan reverse proxy di hadapan dan tamatkan TLS (transport layer security) di sana. Traefik di hadapan beberapa aplikasi Compose ialah cara biasa untuk melakukannya sebaik sahaja anda mengehos lebih daripada satu perkara, dan panduan asas Docker Compose merangkumi bahagian fail ini yang dilangkau oleh halaman ini.

Papan anda ialah pangkalan data, jadi buat sandaran

Alat papan gagal secara senyap. Tiada siapa yang menyedari ketiadaan sandaran sehingga sesuatu volum hilang, dan fail SQLite yang rosak akan dibuka seperti biasa sebelum melaporkan database disk image is malformed beberapa minggu kemudian.

Jangan sekali-kali menyalin fail SQLite yang sedang aktif dengan cp. Salinan tersebut boleh menangkap proses tulis yang sedang berjalan, menyebabkan arkib kelihatan lengkap tetapi dipulihkan menjadi pangkalan data yang kehilangan baris. Hentikan servis untuk beberapa saat semasa proses penyalinan berlangsung:

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

Bagi Planka, lakukan dump PostgreSQL dan bukannya menyalin direktori data kluster yang sedang berjalan, serta ambil volum muat naik secara berasingan, kerana lampiran tidak disimpan di dalam pangkalan data:

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 memaparkan nama volum sebenar, iaitu nama projek Compose anda diikuti dengan _data. Menghantar nama yang tidak wujud akan mencipta volum kosong dan memberikan anda arkib yang sah tetapi kosong tanpa sebarang ralat, jadi semak saiz fail selepas itu.

Kemudian, pulihkan sandaran tersebut sekali, ke dalam stack sementara pada mesin yang sama, dan buka kad yang anda ingat. Sandaran yang tidak pernah anda pulihkan hanyalah satu andaian. Hantar juga arkib keluar dari pelayan, kerana salinan yang disimpan pada VPS yang anda lindungi bukanlah sandaran sebenar. sandaran restic dari VPS merangkumi bahagian tersebut.

Dua cadangan

Dua orang pada VPS 2 GB: jalankan Planka. Ia adalah perisian yang paling hampir dengan Trello dari segi rupa dan kelakuan, import Trello dilakukan dengan mengheret fail, dan 280 MB memori melahu membolehkan sebahagian besar daripada 2 GB tersebut bebas untuk reverse proxy dan apa-apa sahaja yang anda hoskan. Community License meliputi pasukan dalaman dua orang tanpa sebarang kos. Jika anda lebih suka untuk tidak bergantung pada lesen source-available, Vikunja dengan SQLite pada 110 MB ialah pilihan sumber terbuka untuk pelayan yang sama.

Dua puluh orang dalam organisasi: jalankan Vikunja dengan PostgreSQL. Pada saiz tersebut, anda memerlukan OpenID Connect dan bukannya dua puluh kata laluan tempatan, anda memerlukan pasukan dan perkongsian mengikut projek, dan kebanyakan kerja tidak akan muat pada papan, jadi paparan List, Table dan Gantt bukan lagi sekadar tambahan yang menarik. AGPL-3.0 juga bermakna tiada perbincangan mengenai lesen apabila bilangan kakitangan bertambah. Gunakan PostgreSQL dan bukannya SQLite, letakkannya di belakang reverse proxy, dan simpan dump harian di tempat lain selain daripada pelayan tersebut.

Jika pelayan mempunyai kurang daripada 1 GB RAM, kedua-dua jawapan di atas tidak terpakai. Gunakan Kanboard pada 70 MB, terima hakikat bahawa anda perlu menaip semula kad Trello anda, dan gunakan memori yang dijimatkan untuk perkara lain daripada senarai pendek self-hosting untuk 2026. Pemasangan mendalam bagi mana-mana alat yang anda pilih mempunyai panduan tersendiri. Halaman ini hanyalah untuk tujuan pemilihan.

FAQ

Alternatif Trello yang dihoskan sendiri (self-hosted) manakah yang menggunakan RAM paling sedikit?

Kanboard, pada kira-kira 70 MB semasa melahu, kerana ia berasaskan PHP dengan SQLite dan tidak menyimpan apa-apa dalam memori antara permintaan. Vikunja berada di tempat kedua pada kira-kira 110 MB sebagai binari Go tunggal. Wekan adalah yang paling berat pada kira-kira 750 MB, kerana Meteor mengekalkan lapisan pertanyaan langsung (live query) dalam memori Node untuk setiap pelayar yang disambungkan. Ukur penggunaan anda sendiri dengan docker stats sebaik sahaja stack melahu, kerana ini adalah angka tipikal dan bukan jaminan.

Bolehkah saya mengimport papan Trello saya ke dalam alat yang dihoskan sendiri?

Planka dan Wekan kedua-duanya menerima eksport papan JSON Trello secara terus. Vikunja mengimport melalui aliran OAuth Trello, dan migrator perlu didayakan dalam konfigurasi sebelum ia muncul dalam antara muka. Kanboard tidak mempunyai pengimport terbina dalam. Dua had yang perlu dirancang: Planka tidak mengimport pengguna atau lampiran dan hanya mengendalikan satu senarai semak (checklist) bagi setiap kad, dan eksport JSON lalai Trello terhenti pada 1,000 tindakan tanpa memberi amaran bahawa data tersebut telah dipotong.

Adakah Focalboard masih menjadi pilihan yang baik pada tahun 2026?

Tidak. Keluaran kendiri terakhir, v8.0.0, adalah dari Jun 2024, iaitu 783 hari sebelum perbandingan ini disemak pada 5 Ogos 2026, dan README menyatakan repositori tersebut kini tidak diselenggara. Mattermost meneruskan pembangunan papan hanya sebagai pemalam dalam repositori berasingan, jadi pelayan yang anda hoskan sendiri adalah bahagian yang telah dihentikan. Pilih Planka atau Vikunja sebaliknya.

Adakah Planka masih sumber terbuka (open source)?

Tidak mengikut definisi OSI. Planka dahulunya berlesen MIT, berpindah ke AGPL-3.0 pada tahun 2023, dan diedarkan di bawah Lesen Komuniti PLANKA mulai versi 2.0 dan seterusnya. Pengehosan sendiri adalah percuma untuk kegunaan peribadi, dalaman, bukan untung dan pendidikan. Menjual semula akses atau menjalankannya sebagai perkhidmatan untuk pihak ketiga memerlukan lesen komersial, dan paparan kalendar, peranan tetamu serta kad berulang diletakkan di sebalik tier Pro. Jika lesen yang diluluskan oleh OSI adalah keperluan mutlak, Vikunja adalah AGPL-3.0 dan Kanboard adalah MIT.

Adakah saya memerlukan PostgreSQL, atau adakah SQLite mencukupi?

Vikunja, Kanboard dan Focalboard menggunakan SQLite secara lalai, yang memadai untuk segelintir orang pada satu pelayan. Planka memerlukan PostgreSQL dan tidak menawarkan pilihan SQLite. Beralihlah ke PostgreSQL apabila anda mempunyai beberapa orang yang menulis secara serentak, kerana SQLite melakukan penulisan secara bersiri dan instans yang sibuk akan mula mengembalikan database is locked. Jangan letakkan fail SQLite pada perkongsian rangkaian (network share) juga: dokumentasi Kanboard memberi amaran terhadap penggunaan SQLite pada NFS atas sebab ini.

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