Vikunja vs Focalboard: Self-Hosted Task Management
Quick Verdict
Vikunja is the clear winner. It is actively maintained, feature-rich, and covers personal task management better than Focalboard ever did. Focalboard’s standalone version is no longer maintained — Mattermost absorbed it into Mattermost Boards and then stopped updating the community repo entirely. Unless you are already running Mattermost and need its built-in boards, there is no reason to choose Focalboard in 2026.
Overview
Vikunja is a full-featured, open-source task manager written in Go with a Vue.js frontend. It supports Kanban boards, lists, Gantt charts, CalDAV sync, labels, priorities, reminders, assignees, and file attachments. It is a direct self-hosted alternative to Todoist, Trello, and Microsoft To Do. Vikunja is actively developed with regular releases — v1.1.0 shipped in February 2026.
Focalboard was an open-source project management tool created by Mattermost. It offered multiple views — board (Kanban), table, gallery, and calendar — for organizing tasks and projects. The standalone personal server used SQLite, while the Mattermost plugin version integrated into the Mattermost workspace. Critical caveat: Mattermost deprecated the standalone Focalboard in late 2023, folding its functionality into Mattermost Boards. The community repository is now unmaintained with no active development. The last release was v8.0.0 in June 2024.
Feature Comparison
| Feature | Vikunja | Focalboard |
|---|---|---|
| License | AGPL-3.0 | AGPL-3.0 (formerly MIT) |
| Actively maintained | Yes (v1.1.0, Feb 2026) | No (unmaintained since 2024) |
| Kanban boards | Yes | Yes |
| List view | Yes | Yes (table view) |
| Gantt chart | Yes | No |
| Calendar view | Yes (via CalDAV) | Yes |
| Gallery view | No | Yes |
| CalDAV sync | Yes | No |
| Labels and tags | Yes | Yes (properties) |
| Priorities | Yes (5 levels) | Custom properties only |
| Reminders | Yes (email + in-app) | No |
| Due dates | Yes | Yes |
| Assignees | Yes (multi-user) | Yes |
| File attachments | Yes | Yes |
| Subtasks | Yes | No (checklists only) |
| Recurring tasks | Yes | No |
| Webhooks | Yes | No |
| API | REST API | REST API |
| Mobile app | Progressive Web App | No standalone app |
| Mattermost integration | No | Yes (native plugin) |
| Database support | PostgreSQL, MySQL, SQLite | SQLite (standalone), PostgreSQL (via Mattermost) |
| Resource usage | Low (~50 MB RAM) | Low (~40 MB RAM) |
Installation Complexity
Vikunja is straightforward to deploy. A single container handles both the API and frontend, and you point it at a PostgreSQL database. The setup takes about five minutes with Docker Compose.
Focalboard’s standalone server is simpler on paper — a single binary with SQLite — but that simplicity comes at the cost of features and future support. The Docker image works but receives no security patches. If you want the full feature set with PostgreSQL, you need Mattermost, which is a significantly heavier deployment.
Vikunja Docker Compose
services:
vikunja:
image: vikunja/vikunja:v1.1.0
container_name: vikunja
restart: unless-stopped
ports:
- "3456:3456"
environment:
# Public URL — change to your domain
VIKUNJA_SERVICE_PUBLICURL: "http://localhost:3456"
# Database connection
VIKUNJA_DATABASE_TYPE: "postgres"
VIKUNJA_DATABASE_HOST: "vikunja-db"
VIKUNJA_DATABASE_USER: "vikunja"
VIKUNJA_DATABASE_PASSWORD: "change-me-to-a-strong-password"
VIKUNJA_DATABASE_DATABASE: "vikunja"
# JWT secret — generate a random string: openssl rand -base64 32
VIKUNJA_SERVICE_JWTSECRET: "change-me-generate-random-secret"
volumes:
- ./vikunja-files:/app/vikunja/files
depends_on:
vikunja-db:
condition: service_healthy
networks:
- vikunja-net
vikunja-db:
image: postgres:18-alpine
container_name: vikunja-db
restart: unless-stopped
environment:
POSTGRES_USER: "vikunja"
POSTGRES_PASSWORD: "change-me-to-a-strong-password"
POSTGRES_DB: "vikunja"
volumes:
- vikunja-pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U vikunja"]
interval: 10s
timeout: 5s
retries: 5
networks:
- vikunja-net
volumes:
vikunja-pgdata:
networks:
vikunja-net:
Before starting, create the files directory with correct permissions:
mkdir -p ./vikunja-files
chown 1000:1000 ./vikunja-files
docker compose up -d
Access Vikunja at http://your-server:3456. Create your first account through the web UI.
Focalboard Docker Compose
Warning: Focalboard’s standalone server is unmaintained. This config works as of v8.0.0 but will not receive security updates. Consider Vikunja or another actively maintained alternative instead.
services:
focalboard:
image: mattermost/focalboard:8.0.0
container_name: focalboard
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- focalboard-data:/opt/focalboard/data
networks:
- focalboard-net
volumes:
focalboard-data:
networks:
focalboard-net:
docker compose up -d
Access Focalboard at http://your-server:8000. The standalone version uses SQLite by default — no external database required, but also no multi-user scalability.
For a production setup with PostgreSQL, you would need to deploy the full Mattermost stack with the Boards plugin enabled, which is a much larger undertaking.
Performance and Resource Usage
Both tools are lightweight when running standalone.
| Metric | Vikunja | Focalboard |
|---|---|---|
| RAM (idle) | ~50 MB | ~40 MB |
| RAM (under load) | ~120 MB | ~80 MB |
| CPU | Minimal (Go binary) | Minimal (Go binary) |
| Disk (application) | ~100 MB | ~80 MB |
| Database | PostgreSQL recommended | SQLite (standalone) |
Vikunja uses slightly more RAM because it bundles more features (CalDAV server, notification system, webhook processing), but the difference is negligible on any modern server. Both run comfortably on a Raspberry Pi 4 or a cheap VPS.
The real performance difference shows up with PostgreSQL: Vikunja with Postgres handles hundreds of concurrent users without issues. Focalboard’s standalone SQLite setup struggles past a handful of users.
Community and Support
This is where the comparison becomes lopsided.
Vikunja has an active developer (Kolaente) and a growing community. The project ships regular releases, maintains thorough documentation at vikunja.io, responds to issues on GitHub, and runs a community forum. The Go + Vue.js codebase is clean and well-structured for contributors.
Focalboard is effectively abandoned as a standalone project. The GitHub repository carries a banner stating it is not currently maintained. Issues pile up without responses. The last commit to the standalone codebase was in mid-2024. The Focalboard functionality lives on inside Mattermost’s proprietary product, but the open-source standalone version is a dead end.
If you choose Focalboard today, you are choosing software that will never get another security patch, bug fix, or feature update in its standalone form.
Use Cases
Choose Vikunja If…
- You want a personal or small-team task manager that replaces Todoist or Trello
- You need CalDAV sync with your calendar and mobile apps
- You want Gantt charts for project planning
- You need reminders, recurring tasks, and priorities
- You want a tool that will still be maintained next year
- You prefer PostgreSQL for data reliability
Choose Focalboard If…
- You already run Mattermost and want integrated project boards (use the Mattermost Boards plugin, not the standalone server)
- You specifically need gallery view for visual content organization
- You want the absolute lightest setup (single binary + SQLite) and accept the risk of unmaintained software
There is no scenario in 2026 where deploying the standalone Focalboard server makes sense for a new installation.
Final Verdict
Vikunja wins this comparison decisively. It is the better tool on features alone — Kanban, lists, Gantt, CalDAV, reminders, recurring tasks, subtasks, and webhooks versus Focalboard’s board-and-table approach. Factor in that Focalboard is unmaintained and Vikunja ships regular updates, and the decision is obvious.
The only edge case for Focalboard is as a Mattermost plugin, where it provides project boards tightly integrated into your team chat. But that is Mattermost Boards, not standalone Focalboard, and it requires deploying the full Mattermost stack.
For personal task management, Vikunja is the best self-hosted option available. Deploy it with PostgreSQL, set up CalDAV sync on your phone, and you have a Todoist replacement that you fully control.
Related
Get self-hosting tips in your inbox
New guides, comparisons, and setup tutorials — delivered weekly. No spam.