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

FeatureVikunjaFocalboard
LicenseAGPL-3.0AGPL-3.0 (formerly MIT)
Actively maintainedYes (v1.1.0, Feb 2026)No (unmaintained since 2024)
Kanban boardsYesYes
List viewYesYes (table view)
Gantt chartYesNo
Calendar viewYes (via CalDAV)Yes
Gallery viewNoYes
CalDAV syncYesNo
Labels and tagsYesYes (properties)
PrioritiesYes (5 levels)Custom properties only
RemindersYes (email + in-app)No
Due datesYesYes
AssigneesYes (multi-user)Yes
File attachmentsYesYes
SubtasksYesNo (checklists only)
Recurring tasksYesNo
WebhooksYesNo
APIREST APIREST API
Mobile appProgressive Web AppNo standalone app
Mattermost integrationNoYes (native plugin)
Database supportPostgreSQL, MySQL, SQLiteSQLite (standalone), PostgreSQL (via Mattermost)
Resource usageLow (~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.

MetricVikunjaFocalboard
RAM (idle)~50 MB~40 MB
RAM (under load)~120 MB~80 MB
CPUMinimal (Go binary)Minimal (Go binary)
Disk (application)~100 MB~80 MB
DatabasePostgreSQL recommendedSQLite (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.