Self-hosted service
wekan/wekan avatar
wekan/wekan

WeKan runs on FerretDB and SQLite by default, and its database choices carry real caveats

Wekan is a collaborative Kanban project management platform with drag-and-drop boards, card workflows, user permissions, and self-hosted deployment options.

21,170 stars3,002 forksJavaScriptMIT

At a glance

What is it?
wekan/wekan is an MIT licensed, self-hosted kanban board built on Meteor, with swimlanes, Scrum and Gantt views, IFTTT style rules and import from dozens of other tools. Its default FerretDB plus SQLite setup removes the database server, but the alternative backends, the MongoDB kernel bug and the missing arm/v6 image all need checking before deployment.
Who is it for?
WeKan suits teams that want a self-hosted kanban board with many board views, rule automation and import from tools like Trello, Jira and Asana, and that are happy on the default FerretDB plus SQLite setup. Teams that need MySQL, MariaDB or SAP HANA should treat those backends as experimental, and anyone on MongoDB must check their Linux kernel version first.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • wekan/wekan21,170 ★ · +161
Star history
Repository2026-07-312026-11-14
wekan/wekan21k21.2k

161 Stars in the last 106 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

FerretDB v1 with SQLite stands in for a database server

WeKan is a Meteor application, and its default install does not run MongoDB. Every platform, from the release bundle to Docker, Snap and Kubernetes, uses FerretDB v1 with SQLite. The FerretDB here is WeKan's own fork, wekan/FerretDB, with an embedded pure Go SQLite backend that speaks the MongoDB wire protocol. FerretDB stores everything in SQLite files on a volume, and WeKan keeps attachments and avatars on the filesystem.

In the default docker-compose.yml, the FerretDB binary is not baked into the image. The container downloads it once from the newest wekan/FerretDB release and caches it on the volume, picking only the asset for its architecture and preferring the smaller SQLite-only ferretdb-sqlite build. The consequence is that the very first start needs to reach GitHub releases, and the database binary you get depends on what the newest fork release was when the volume was created. Back up the volume, because it holds both the cached binary and your data.

Eight compose files, and three of the backends are experimental

Each supported backend has its own compose file at the repository root:

code
docker-compose.yml                           FerretDB v1 + SQLite (default)
docker-compose-ferretdb-v1-postgresql.yml    FerretDB v1 + PostgreSQL
docker-compose-ferretdb-v1-mysql.yml         FerretDB v1 + MySQL
docker-compose-ferretdb-v1-mariadb.yml       FerretDB v1 + MariaDB
docker-compose-ferretdb-v1-sap-hana.yml      FerretDB v1 + SAP HANA
docker-compose-ferretdb-v2-postgresql.yml    FerretDB 2 + PostgreSQL
docker-compose-mongodb-v7.yml                MongoDB 7
docker-compose-multitenancy.yml              MongoDB, multitenancy example

The status of these is not equal. FerretDB v1 with PostgreSQL works. With MySQL, MariaDB or SAP HANA it is experimental. All backends answer the same 110-query conformance catalogue the same way, checked by the EVERYTHING target in build.sh and build.bat, but SAP HANA is only checked when asked. If your organization mandates MySQL or MariaDB, you are running on a path the project itself labels experimental.

MongoDB refuses to start on Linux kernels 6.19 to 7.0.13

MongoDB 6, 7, 8 and 9 remain supported for people who already run WeKan on MongoDB or need the multitenancy example. There is one hard stop: MongoDB refuses to start on Linux kernels 6.19 to 7.0.13. FerretDB is not affected.

The practical result is that a routine kernel upgrade on the host can take a MongoDB backed WeKan offline even though nothing in WeKan changed. Before upgrading the host kernel, or before choosing MongoDB on a new server, check which kernel you run. If you are inside that range, the default FerretDB path avoids the problem entirely.

The Docker image covers seven architectures but not arm/v6

The Dockerfile is based on debian:trixie (Debian 13). Ubuntu was dropped as the base because it publishes no linux/386 image, which stopped the i386 build. Debian ships amd64, arm64, 386, arm/v7, ppc64le, riscv64 and s390x, the same base the per-architecture .zip bundles are built in.

The gap is arm/v6. Debian trixie's manifest list has arm/v5 and arm/v7 and nothing between. containerd treats a lower ARM variant as compatible, so a linux/arm/v6 request does not fail; it quietly resolves to the arm/v5 soft-float image, whose loader and glibc cannot run the hard-float Node.js in the armv6 bundle. The docker build job therefore asks the base which platforms it publishes and drops any it lacks. For owners of arm/v6 boards, the consequence is that there is no working container image; docs/Platforms/FOSS/Container/Docker/CPU-platforms.md covers the details.

Import and export reach across most other task tools

Moving into WeKan does not require starting from scratch. Add Board accepts WeKan JSON or .zip, CSV and TSV, Excel, Markdown, Obsidian Kanban, OPML, Org mode and todo.txt, plus exports from Trello, Jira, Asana, Focalboard, Todoist, Microsoft Planner, Linear, ClickUp, Notion, Plane, Kanboard, Nextcloud Deck, OpenProject, Taskwarrior and the GitHub, GitLab, Gitea and Forgejo issue trackers, among others. You can import several export files or a .zip of them at once, and the one board per project option splits a whole app export into separate boards.

Export goes the other way to PDF, Excel, HTML, an iCal calendar feed, JSON with or without attachments and most of the same tool formats. You choose what to include, from comments and checklists to custom fields, planning poker and dependencies. Exporting all boards at once produces one Excel workbook with a sheet per board, or a .zip with a file per board for every other format.

Rules borrow from IFTTT, Trello Butler and Jira workflows

Automation lives in the board settings as Rules, modeled on IFTTT and Trello Butler. The same rules can be viewed three ways: as a list, as a workflow view in the style of Jira Workflows, and as Blocks, a visual editor in the style of Scratch or Jira AutoBlocks. Rules import and export, and WeKan can import n8n, Node-RED and Trello Butler definitions as well as Wrike workflows.

Beyond the swimlane and list views, a board can switch to Table, Calendar, Multi Board Calendar, Timeline, three Gantt implementations and a Scrum set with backlog, sprints, velocity and roadmap. Flow charts include burndown, burnup, cumulative flow, cycle time, aging WIP and Monte Carlo forecasts. Card dependencies draw colored lines between cards for SAFe PI planning and export as JSON or SVG.

Translation coverage measures text, not quality

WeKan has been translated into 234 locale catalogs, and all 234 have non-English text for over 90 percent of source keys. The project is explicit that this measures coverage, not translation quality, and that language review is ongoing. A team rolling WeKan out in a language other than English should have a native speaker check the interface before launch, because a string being present does not mean it reads correctly.

Releases arrive fast. v12.85, v12.86 and v12.87 were all published on 2 November 2026, the same day as the last push. For a self-hosted tool that holds your team's work, that pace argues for pinning a specific release, reading CHANGELOG.md before upgrading, and backing up the data volume first. WeKan is MIT licensed and free software, so the downloads at wekan.fi/install cost nothing, but upgrades are your responsibility.

Editorial conclusion

WeKan suits teams that want a self-hosted kanban board with many board views, rule automation and import from tools like Trello, Jira and Asana, and that are happy on the default FerretDB plus SQLite setup. Teams that need MySQL, MariaDB or SAP HANA should treat those backends as experimental, and anyone on MongoDB must check their Linux kernel version first. On ARM, confirm your board is not arm/v6 before choosing the Docker image, and pin a release given how often new ones ship.

Frequently asked questions

What is WeKan?

WeKan is a free and open source collaborative kanban board application under the MIT license. You install it on your own computer or server, and by default it stores data in SQLite through FerretDB v1.

Is WeKan free to use?

Yes. WeKan is FLOSS released under the MIT license, and you can self-host it so your data stays on your own machine or server.

How to install WeKan?

Downloads and install options are listed at wekan.fi/install. The default Docker setup is docker-compose.yml, which uses FerretDB v1 with SQLite so no separate database server is needed; release bundles, Snap and Kubernetes use the same default.

WeKan vs Trello: can WeKan take over Trello boards?

WeKan imports Trello exports and Trello Butler rules, and it can export boards back to Trello format. Its Rules feature is modeled on IFTTT and Trello Butler.

WeKan vs Kanboard: can WeKan import Kanboard boards?

Yes. WeKan imports Kanboard exports and can also export boards to Kanboard format.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/wekan-wekan.svg)](https://hysenlabs.com/projects/wekan-wekan)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/wekan-wekan.svg)](https://hysenlabs.com/projects/wekan-wekan)

Was this useful?