Vikunja vs WeKan: Self-Hosted Task Management Compared
Quick Verdict
Want a Trello replacement with Kanban boards and nothing else? WeKan is the most feature-complete open-source Kanban board available. Need task management that goes beyond Kanban — with lists, Gantt charts, CalDAV sync, and a Todoist-like experience? Vikunja covers more ground in a lighter package. If your workflow is board-centric, WeKan is the right tool. If you need flexible task views, Vikunja wins.
Updated March 2026: Verified with latest Docker images and configurations.
Overview
Vikunja is a Go-based task management application that positions itself as an open-source alternative to Todoist, Wunderlist, and Trello combined. It supports multiple task views (list, Kanban, Gantt, table), CalDAV integration for syncing with calendar apps, file attachments, labels, due dates, reminders, and team collaboration. The project launched in 2018 and has steady development with regular releases.
WeKan (formerly LibreBoard) is a dedicated Kanban board application inspired by Trello. It focuses specifically on the Kanban methodology: boards, lists, cards, swimlanes, checklists, and WIP limits. Built with Meteor.js and MongoDB, it’s one of the oldest and most feature-rich open-source Kanban solutions, running since 2015.
Feature Comparison
| Feature | Vikunja v1.1.0 | WeKan v8.35 |
|---|---|---|
| Task views | List, Kanban, Gantt, Table | Kanban only |
| Kanban boards | Yes | Yes (primary focus) |
| Swimlanes | No | Yes |
| WIP limits | No | Yes (per-list card limits) |
| Card templates | No | Yes |
| CalDAV sync | Yes (native) | No |
| Gantt chart | Yes | No |
| Due dates & reminders | Yes (with CalDAV push) | Yes (basic) |
| Recurring tasks | Yes | Yes |
| File attachments | Yes | Yes |
| Labels / tags | Yes (color-coded) | Yes (color-coded) |
| Comments | Yes (with mentions) | Yes |
| Checklists | Yes (subtasks) | Yes (per-card checklists) |
| Time tracking | Yes (built-in) | No |
| Global search | Yes (full-text) | Yes |
| API | REST API | REST API |
| Webhooks | Yes | Yes |
| OIDC / SSO | Yes | Yes (OIDC, LDAP, SAML) |
| Mobile apps | Progressive Web App | Progressive Web App |
| Database | PostgreSQL, MySQL, SQLite | MongoDB (required) |
| Backend language | Go | Meteor.js (Node.js) |
| License | AGPL-3.0 | MIT |
Installation Complexity
Vikunja uses a single Go binary with PostgreSQL (or SQLite for testing):
services:
vikunja:
image: vikunja/vikunja:v2.1.0
environment:
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: CHANGE_ME_DB_PASSWORD
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_PUBLICURL: https://tasks.example.com
VIKUNJA_SERVICE_JWTSECRET: CHANGE_ME_RANDOM_SECRET_32_CHARS
volumes:
- vikunja_files:/app/vikunja/files
ports:
- "3456:3456"
depends_on:
- db
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: vikunja
POSTGRES_PASSWORD: CHANGE_ME_DB_PASSWORD
POSTGRES_DB: vikunja
volumes:
- pgdata:/var/lib/postgresql/data
restart: unless-stopped
volumes:
vikunja_files:
pgdata:
Two containers. Environment variable configuration. First user to register becomes admin (or configure VIKUNJA_SERVICE_ENABLEREGISTRATION=false after creating your account). Straightforward.
WeKan requires MongoDB, which adds operational complexity:
services:
wekan-db:
image: mongo:7
volumes:
- wekan_db:/data/db
- wekan_dump:/dump
restart: unless-stopped
wekan-app:
image: ghcr.io/wekan/wekan:v8.35
environment:
WRITABLE_PATH: /data
MONGO_URL: mongodb://wekan-db:27017/wekan
ROOT_URL: https://kanban.example.com
MAIL_URL: smtp://mail.example.com:587
MAIL_FROM: WeKan <[email protected]>
WITH_API: "true"
RICHER_CARD_COMMENT_EDITOR: "true"
CARD_OPENED_WEBHOOK_ENABLED: "false"
BIGEVENTS_PATTERN: NONE
BROWSER_POLICY_ENABLED: "true"
volumes:
- wekan_files:/data
ports:
- "8080:8080"
depends_on:
- wekan-db
restart: unless-stopped
volumes:
wekan_db:
wekan_dump:
wekan_files:
WeKan has dozens of environment variables for fine-tuning (the official compose file lists 50+), though most are optional. MongoDB is the only supported database — no SQLite fallback for simple setups. First user to register gets admin rights.
Performance and Resource Usage
| Resource | Vikunja v1.1.0 | WeKan v8.35 |
|---|---|---|
| RAM (idle) | 50-100 MB | 200-400 MB |
| RAM (active, 10 users) | 100-200 MB | 400-600 MB |
| CPU | Minimal (Go binary) | Low-medium (Node.js/Meteor) |
| Database RAM | PostgreSQL: 100-200 MB | MongoDB: 200-400 MB |
| Total RAM (stack) | 200-400 MB | 400-800 MB |
| Disk (application) | 30 MB | 200 MB |
| Containers | 2 | 2 |
Vikunja’s Go binary is significantly lighter than WeKan’s Meteor.js runtime. With PostgreSQL, the total stack uses roughly half the RAM of WeKan with MongoDB. On constrained hardware (Raspberry Pi, small VPS), this difference matters.
Community and Support
Vikunja has 4,000+ Gitea stars (vikunja.io/gitea) and a growing community. The lead developer (kolaente) maintains regular releases and responsive issue tracking. Documentation is comprehensive at vikunja.io/docs. The project accepts donations via OpenCollective.
WeKan has 20,000+ GitHub stars — one of the most starred open-source project management tools. The maintainer (xet7) is prolific, pushing updates frequently (sometimes daily). Documentation is extensive, covering dozens of integrations and deployment scenarios. WeKan benefits from years of production use across organizations.
Use Cases
Choose Vikunja If…
- You need multiple task views (list, Kanban, Gantt, table) not just Kanban
- CalDAV sync matters (sync tasks to your phone’s calendar/tasks app)
- You want a Todoist/Wunderlist replacement with list-based task management
- Resource efficiency is important (Go binary, ~200 MB total RAM)
- You prefer PostgreSQL (or SQLite) over MongoDB
- Built-in time tracking is useful for your workflow
Choose WeKan If…
- Kanban boards are your primary workflow (swimlanes, WIP limits, card templates)
- You’re replacing Trello specifically and want a 1:1 feature match
- Your team’s workflow is visual and board-centric
- You need advanced Kanban features like swimlanes and card aging
- LDAP/SAML SSO is a hard requirement (WeKan has more mature SSO)
- You don’t need task lists, Gantt charts, or calendar sync
Final Verdict
If your team thinks in Kanban boards — cards moving across columns, swimlanes separating workstreams, WIP limits enforcing flow — WeKan is the more complete Kanban tool with features like swimlanes and card templates that Vikunja lacks.
If you want flexible task management that adapts to different workflows — sometimes a list, sometimes a board, sometimes a Gantt chart — Vikunja delivers more versatility in a lighter package. Its CalDAV support alone makes it the better personal task manager, syncing seamlessly with iOS Reminders, GNOME To Do, and Thunderbird.
For most self-hosters replacing a cloud service: Vikunja replaces Todoist. WeKan replaces Trello. Pick whichever matches the tool you’re migrating from.
FAQ
Can Vikunja do everything WeKan does with Kanban boards?
No. Vikunja has a Kanban view, but it lacks swimlanes, WIP limits, card templates, and card aging — features dedicated Kanban practitioners consider essential. If Kanban is your primary methodology, WeKan’s implementation is deeper.
Does WeKan support list views like Todoist?
No. WeKan is exclusively a Kanban board tool. Every task must exist as a card on a board. There’s no flat list view, table view, or Gantt chart. If you need non-Kanban views, Vikunja is the better fit.
Can I sync Vikunja tasks with my phone?
Yes. Vikunja’s CalDAV support lets you sync tasks with any CalDAV-compatible app: iOS Reminders, GNOME To Do, Tasks.org (Android), Thunderbird, and others. Tasks appear as calendar items with due dates and reminders. WeKan has no equivalent — you’d need to use its web UI or API.
Which is easier to back up?
Vikunja with PostgreSQL is straightforward: pg_dump the database and copy the files volume. WeKan with MongoDB uses mongodump — functional but MongoDB backups are more operationally complex, especially for point-in-time recovery.
Can I import data from Trello into either?
WeKan has a direct Trello JSON import feature. Vikunja can import from Todoist, Microsoft To Do, and Vikunja JSON exports, but Trello import requires converting the Trello JSON export first. For Trello migrations specifically, WeKan is simpler.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments