Vikunja logo

Vikunja

The to-do app you actually own

Alternative to: todoist, trello, microsoft to do


Vikunja is an open-source, self-hostable to-do and project management application. It offers classic list views alongside Kanban boards, Gantt charts, and table views of the same underlying tasks, with native importers for Todoist, Trello, and Microsoft To Do. It's built with a Go backend and a Vue/TypeScript frontend, released under the AGPL-3.0 license.

Vikunja Docker Compose example

Self-host Vikunja on your own server, homelab, or VPS starting from this Docker Compose example. It runs Vikunja in Docker containers using the official vikunja/vikunja:latest image, with persistent volumes and automatic restarts preconfigured. Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.

services:
  vikunja:
    image: vikunja/vikunja:latest
    restart: unless-stopped
    environment:
      # Public URL under which Vikunja is reachable, including scheme and trailing slash. Required (CORS is enabled by default).
      VIKUNJA_SERVICE_PUBLICURL: "http://localhost:3456/"
      # Secret used to sign authentication tokens. Set a long random string; changing it invalidates all existing sessions.
      VIKUNJA_SERVICE_SECRET: "changeme"
      # Database backend to use: sqlite (default, no external database), postgres or mysql.
      VIKUNJA_DATABASE_TYPE: "sqlite"
      # Path to the SQLite database file. Kept under the files volume so data survives container restarts.
      VIKUNJA_DATABASE_PATH: "/app/vikunja/files/vikunja.db"
    volumes:
      - files:/app/vikunja/files

volumes:
  files:

Values set to changeme are required — replace them with your own values before starting Vikunja.

Prefer a managed setup? WinterFlow installs, configures, and updates Vikunja for you using this same Docker Compose configuration.