Wekan

Open-source kanban board for collaboration

Project Management & Tasks ★ 21.1k stars Medium setup MIT

Wekan is an open-source kanban board application for collaborative task and project tracking with cards, swimlanes, and rules. It targets teams wanting a self-hosted kanban tool. It is deployed via Docker or Snap.

Key features

  • Kanban boards with swimlanes
  • Card automation rules
  • Time tracking and checklists
  • LDAP and OAuth support

Pros & cons

Strengths

  • Mature kanban tool
  • Self-hostable
  • Good permissions

Trade-offs

  • Can feel heavy
  • UI is dated

Wekan replaces

Last reviewed Aug 26, 2026 · 730 words

Wekan imports your Trello boards from a JSON export, cards, lists, labels, checklists and all, and it is the most complete open-source kanban you can self-host: swimlanes, WIP limits, automation rules, time tracking, LDAP and OAuth. The price of that completeness is a Meteor application that needs MongoDB beside it, wants the 1 GB of RAM the catalogue lists, and looks like it was designed in 2016, because it was. For a family or a solo developer who wants a pretty Trello, Planka is the nicer download. For a team that needs permissions, rules and an audit of who moved what, Wekan is still the one.

MongoDB is half the install and all of the backup

Wekan stores everything in Mongo, so the database container is not optional and its backup is your only backup:

services:
  wekandb:
    image: mongo:6
    volumes:
      - ./mongo:/data/db
    restart: unless-stopped
  wekan:
    image: quay.io/wekan/wekan
    environment:
      - ROOT_URL=https://kanban.example.com
      - MONGO_URL=mongodb://wekandb:27017/wekan
      - WITH_API=true
    ports:
      - "8080:8080"
    depends_on:
      - wekandb
    restart: unless-stopped

Back it up with docker exec wekandb mongodump --archive --db wekan > wekan-$(date +%F).archive on a nightly timer, and restore with mongorestore --archive --db wekan. Copying the ./mongo directory of a running Mongo is not a backup; it is a coin flip. When you eventually move Mongo major versions, go one major at a time (6 to 7, then 7 to 8), because Mongo refuses to open data files written two majors back.

ROOT_URL has to be the address in your browser

More Wekan tickets trace to ROOT_URL than to anything else. It must be the exact scheme, host and port users type, or the WebSocket connection that Meteor uses for its live updates fails and you get a board that loads but never saves, or logins that silently bounce. Put it behind Caddy with a real hostname, set ROOT_URL to that https:// address, and make sure the proxy passes WebSocket upgrades, which Caddy does by default and nginx does only with two extra headers.

Snap is the zero-thought path on Ubuntu

sudo snap install wekan bundles Mongo and Wekan together, and sudo snap set wekan root-url="https://kanban.example.com" plus sudo snap set wekan port="8080" is the entire configuration. It auto-updates with the snap channel, which is convenient until an update changes behaviour on a Tuesday. Wekan ships releases very frequently, sometimes several a week, so on the Docker route pin a version tag and move it deliberately once a month rather than riding latest.

Trello import takes 5 minutes; Trello attachments do not come

Export each Trello board as JSON (Menu, More, Print and Export), then in Wekan use the board list's Import option and paste the file. Lists, cards, labels, due dates, comments and checklists arrive intact. Attachments do not: Trello's export only references them by URL, so download anything you need before the Trello workspace closes. Member mapping asks you to match Trello users to Wekan users; create the Wekan accounts first and the mapping is a dropdown instead of a mess. There is a Trello switching guide covering the other candidates if Wekan's look puts you off.

Rules and permissions are the features that justify the weight

Rules let a board move a card to Done when its checklist completes, set a label when a member is assigned, or fire a webhook on any change, which is enough to drive n8n or a chat notification without code. Permissions run per board: admin, normal, comment-only and no-comment members, plus organisation and team groupings. Swimlanes give you a second axis (customer, project, priority) on one board. None of Wekan's lighter rivals has all three, and that is the honest reason to accept the UI.

What I'd do

Docker Compose as above, pinned tag, behind Caddy with ROOT_URL set once and correctly, WITH_API=true only if something will call it, nightly mongodump to another machine. Import the Trello boards on day one, attachments pulled by hand first. If halfway through the import you realise you only ever used one list of cards per project, stop and install Kanboard instead, which does that in 128 MB with SQLite. Otherwise, Wekan it is, and it will run untouched for years.

Compare Wekan

13 head-to-head comparisons.

Similar project management & tasks apps