SSD Nodes Learn 🎉 VPS from $5.50/mo
How to do am Matt ConnorBy Matt Connor · Updated 2026-08-13

Which self-hosted Trello alternative dey best?

Compare Planka, Vikunja, Focalboard, Wekan and Kanboard on RAM floor, database, SSO, Trello import, plus which tools still dey maintained.

Which self-hosted Trello alternative make you choose?

Three self-hosted Trello alternatives deserve your time: choose Planka if you want Trello exact board and its import file, choose Vikunja when team need single sign-on and more than one board, and choose Kanboard when the VPS (virtual private server) small. No start new project with Focalboard. Its standalone server never get release for 783 days, and its README now dey ask for maintainer.

Wekan na the fifth of the 5 tools for here. E dey work, but e dey use memory several times pass every other one. Dem check every version, licence, and date below on 5 August 2026.

Each board tool need how much 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
  }
]

Those na typical idle figures for fresh install when nobody dey use am, the kind number wey docker stats reports one minute after the stack don start. Use dem to size your plan, then measure your own. The general pattern matter pass the exact megabyte.

Kanboard na the lowest at 70 MB because na PHP with SQLite. No long-running application process dey hold your boards for memory, so the container dey almost use nothing between requests. Vikunja na one Go binary at 110 MB, and SQLite na the default database, so one container na the complete stack. Planka need 280 MB because e always get two containers: one Node server and PostgreSQL. Planka no get SQLite option, so you no fit avoid the database.

Wekan dey at 750 MB because na Meteor application. Meteor dey keep live query layer for Node memory and dey push every board change go every browser wey open through WebSocket, so e memory dey increase as connected people increase instead of staying flat. For 1 GB VPS, Wekan go start, then die the first time some people open large board. The sign na container wey disappear and come back with exit code 137, wey docker compose ps dey show as restart loop. Confirm am for host with dmesg -T | grep -i "out of memory", because kernel out-of-memory killer no dey tell the application anything.

Database dependency decide half of your backup work, so make we put am for one line each. Planka require PostgreSQL. Vikunja default na SQLite, and e also support PostgreSQL and MySQL or MariaDB. Kanboard default na SQLite, and e also support MySQL, MariaDB and PostgreSQL, while the documentation recommend PostgreSQL and warn against SQLite for NFS (network file system). Focalboard default na SQLite. Wekan support MongoDB wire protocol, and e default Compose file now release FerretDB v1 with embedded SQLite backend instead of real MongoDB server. E also get separate MongoDB 7 Compose file if you want use one.

Which of these projects dey still maintained?

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 na the outlier at 783 days. Its last standalone release, v8.0.0, na from June 2024. Mattermost move board development enter a plugin for another repository, and the standalone README talk say dem no dey maintain the repository currently. Na the only clear "no" for this comparison. Everything else na trade-off.

Planka's 109 days healthy for project wey dey ship a few releases every year. Version 2.1.1 na from April 2026. Kanboard ship v1.2.53 12 days before the check, and the two releases before am land for March and April 2026.

Vikunja and Wekan both release within one day of the check, but you suppose understand the two facts differently. Vikunja tag v2.5.0 as normal minor release. Wekan tag v10.65, v10.66 and v10.67 the same day, and na so e normally dey release. Frequent releases no mean say the target stable. With Wekan, you dey choose to follow version number wey dey change quickly, so pin the tag and read the notes before every bump.

You dey get more than one board?

Plenty comparison posts just stop for “e look like Trello”. This difference matter pass RAM, because board no be good format for anything wey get deadline.

  • Planka na board tool and nothing else: projects, boards, lists, cards, labels, checklists, comments and attachments. Calendar and map views na Pro features as of August 2026.
  • Vikunja give you four views for one set of tasks: List, Kanban, Table and Gantt. Task dey exist once, and you fit switch view instead of duplicating am.
  • Kanboard na boards with work-in-progress limits, subtasks, attachments, comments, automatic actions and small query language for filtering. The homepage talk say “The number of features is voluntarily limited”, and that description make sense.
  • Wekan na boards with swimlanes, plus checklists, custom fields, REST (representational state transfer) API and webhooks.
  • Focalboard offer board, table and calendar views for the same cards. E dey listed here for completeness.

If wetin you really want na wiki with some task tracking join am, this comparison no fit. BookStack, Wiki.js and Outline cover that kind setup, and the self-hosted Notion alternatives cover all-in-one workspace.

Multi-user access and single sign-on

Planka support OpenID Connect for the free Community edition. The official Compose file get the settings commented out, OIDC_ISSUER, OIDC_CLIENT_ID and OIDC_CLIENT_SECRET join dem, so you only need uncomment dem; you no need upgrade. Guest roles for people wey dey outside your organisation na Pro feature.

Vikunja support OpenID Connect with plenty providers at the same time. Set VIKUNJA_AUTH_OPENID_ENABLED=true, then add one block of VIKUNJA_AUTH_OPENID_PROVIDERS_<ID>_* variables for each provider. E also get teams and per-project sharing, and na this one twenty-person organisation really need.

Wekan support LDAP (lightweight directory access protocol), OAuth2, OIDC and SAML. Kanboard get LDAP built in and generic OAuth2 plugin for other things, plus per-project roles and groups. Focalboard standalone server no get single sign-on at all. Na another reason to leave am out.

Any of dem fit work with an Authentik identity provider wey you run yourself, and this usually better pass giving twenty people separate password for every app.

Yu fit import una Trello boards?

Planka get the simplest way. Export the board from Trello as JSON, create board for Planka, click Import and choose Trello. Read the limits first, because dem real: users and attachments no dey import, na only one checklist per card go come across, and Trello default JSON export dey stop for 1,000 actions without warning say e truncate the file. Check the file yourself before you trust the result.

Vikunja dey import through Trello OAuth flow, under Settings and then "Import from other services". You must enable each migrator for the config before its icon go appear, and VIKUNJA_SERVICE_PUBLICURL must correct, because OAuth redirect dey happen for your browser, no be from the server. Vikunja dey also import Todoist, Microsoft To Do, TickTick and Wekan.

Wekan accepts Trello board JSON wey you paste for its import form. Kanboard no get built-in Trello importer, and na the main reason to skip am if you get many years of Trello history to move.

Mobile experience dey like wetin?

Na only Vikunja among the five wey get official mobile apps. Android and iOS builds dey release together with each release, and the app repository describe itself as alpha. So, treat am as companion to the web interface, no be the main way to access the service. Planka no get official app from the project, though its web interface dey responsive and third-party clients dey available. Wekan and Kanboard na web only, and Kanboard interface clearly dey designed for desktop screen.

Licence matter, and why Planka different

Planka no be open source again, and na this fact most comparisons dey leave out. E start under MIT, move go AGPL-3.0 for 2023, and from 2.0 series e dey release under PLANKA Community License, a fair-code licence wey PLANKA Software GmbH hold. GitHub dey report the licence as "Other" because OSI never approve that licence. You fit self-host am for your own people free, and the licence clearly allow personal, internal, non-profit, and educational use. To resell access to am, or run am as a service for other companies, you need commercial licence.

For two people, na fair arrangement. For company, na term wey you suppose read before twenty people's work enter the system. The other four na ordinary open source: Vikunja na AGPL-3.0, Wekan and Kanboard na MIT, while Focalboard combine Apache 2.0 and AGPL-3.0.

Compose file wey pin for the two choice

Pin image tag. latest mean say the next docker compose pull fit move you cross one major version, and major versions dey run database migrations wey you no fit easily reverse. Both files below na the upstream ones with tag fix to one real release.

Vikunja for SQLite, one 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

Create data directory with the correct owner first, because container dey run as UID 1000 and e no fit write inside directory wey root own:

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

Healthy stack go show the service as running, and info endpoint go return JSON wey contain one version field. Connection refused for here mean say container don exit. docker compose logs vikunja go name the reason, and permission error for database file na the common one.

Planka for PostgreSQL, two containers:

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 mean say PostgreSQL dey accept any connection without password. This safe only because database port no dey published to host, so na only the other container for the same Compose network fit reach am. No add ports: entry to the postgres service.

Neither stack suppose face internet directly. Both bind to 127.0.0.1, so put reverse proxy for front and terminate TLS (transport layer security) there. Traefik for front of plenty Compose apps na the usual way to do this once you host more than one thing, and Docker Compose basics guide cover the parts of these files wey this page skip.

Board na database, so back am up

Board tool fit fail quietly. Nobody go notice missing backup until volume don disappear, and damaged SQLite file fit open normally before e report database disk image is malformed weeks later.

Never copy live SQLite file with cp. The copy fit catch write wey still dey happen, so archive go look complete but restore into database wey miss some rows. Stop the service for the few seconds wey the copy take:

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

For Planka, dump PostgreSQL instead of copying data directory from cluster wey dey run, and back up uploads volume separately, because attachments no dey inside 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 dey print the real volume name. Na your Compose project name followed by _data. If you pass name wey no exist, e go create empty volume and give you valid but empty archive without error. So check the file size afterwards.

Then restore am once into scratch stack for the same box, and open card wey you remember. Backup wey you never restore na guess. Send the archives comot from the server too, because copy wey dey stored for the VPS wey you dey protect no be backup. restic backups from VPS cover that part.

Rekomendeshon two

Two pesin for one 2 GB VPS: run Planka. Na e dey closest to Trello for how e look and how e dey work. The Trello import na file wey you fit drag enter. 280 MB idle memory go leave most of the 2 GB free for reverse proxy and anything else wey you host. Community License cover internal team of two pesin without cost. If you no wan depend on source-available licence, Vikunja for SQLite at 110 MB na the open-source choice for the same box.

Twenty pesin for one organisation: run Vikunja for PostgreSQL. For that size, you need OpenID Connect instead of twenty local passwords. You need teams and sharing per project. Plenty of the work no go fit on board, so List, Table and Gantt views no be just extra again. AGPL-3.0 mean say licence matter no go come up as headcount dey grow. Give am PostgreSQL instead of SQLite. Put am behind reverse proxy, and keep the daily dump for somewhere wey no be that server.

If the box get less than 1 GB of RAM, neither answer apply. Use Kanboard at 70 MB. Accept say you go type your Trello cards again. Use the memory wey you save for another thing from self-hosting shortlist for 2026. The detailed install for any tool wey you choose belong for its own guide. This page na only for the choice.

FAQ

Which self-hosted Trello alternative dey use the least RAM?

Kanboard, at about 70 MB when idle, because na PHP with SQLite and e no keep anything for memory between requests. Vikunja dey next at about 110 MB as one Go binary. Wekan na the heavy one at about 750 MB, because Meteor dey keep live query layer for Node memory for every connected browser. Measure your own with docker stats after the stack don stay idle, because these figures na typical values, no be promise.

I fit import my Trello boards enter self-hosted tool?

Planka and Wekan both fit take Trello JSON board export directly. Vikunja imports through Trello OAuth flow, and you need enable the migrator for config before e go show for the interface. Kanboard no get built-in importer. Plan around these two limits: Planka no import users or attachments and e handle only one checklist per card, while Trello default JSON export stop for 1,000 actions without warning you say e truncate the export.

Focalboard still be good choice for 2026?

No. The last standalone release, v8.0.0, come out for June 2024. That one was 783 days before dem check this comparison on 5 August 2026, and the README talk say dem no dey maintain the repository currently. Mattermost continue board development only as plugin for separate repository, so na the server wey you go self-host be the part wey stop. Choose Planka or Vikunja instead.

Planka still be open source?

No be according to OSI definition. Planka first use MIT, move to AGPL-3.0 for 2023, and dey ship under PLANKA Community License from version 2.0 onward. Self-hosting free for personal, internal, non-profit, and educational use. Reselling access or running am as service for third parties need commercial licence, and calendar view, guest roles, and recurring cards dey behind Pro tier. If OSI-approved licence na hard requirement, Vikunja na AGPL-3.0 and Kanboard na MIT.

I need PostgreSQL, or SQLite enough?

Vikunja, Kanboard, and Focalboard default to SQLite, and e good for small number of people for one server. Planka require PostgreSQL and e no offer SQLite option. Move to PostgreSQL when several people dey write at the same time, because SQLite dey serialise writes and busy instance go start return database is locked. No put SQLite file for network share too: Kanboard documentation warn against SQLite on NFS for exactly this reason.

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