# Vikunja — Self-Hosted Open Source To-Do and Project Management > Vikunja is an open-source task management application written in Go. It offers lists, kanban boards, Gantt charts, and CalDAV sync — a self-hosted alternative to Todoist, Trello, and Asana. ## Install Save in your project root: # Vikunja — Self-Hosted Open Source To-Do and Project Management ## Quick Use ```bash # Docker Compose (recommended) wget https://dl.vikunja.io/vikunja/docker-compose.yml docker compose up -d # Access at http://localhost:3456 ``` ## Introduction Vikunja provides a full-featured task and project management suite you can host yourself. It covers personal to-do lists and team project boards alike, with a clean UI that supports multiple views and integrations. ## What Vikunja Does - Manages tasks with due dates, priorities, labels, assignees, and subtasks - Displays projects as lists, kanban boards, Gantt charts, or table views - Syncs tasks with CalDAV-compatible calendar apps on desktop and mobile - Supports file attachments, comments, and task relations - Provides team workspaces with fine-grained sharing and permission controls ## Architecture Overview Vikunja consists of a Go API backend and a Vue.js frontend, both shipped in a single Docker image. The backend uses GORM for database abstraction and supports SQLite, PostgreSQL, and MySQL. Authentication supports local accounts, OpenID Connect, and LDAP. A background worker handles scheduled reminders and recurring task generation. The CalDAV server is built into the API for native calendar sync. ## Self-Hosting & Configuration - Deploy with Docker Compose using the all-in-one image (API + frontend) - SQLite works out of the box; switch to PostgreSQL or MySQL for multi-user workloads - Configure via config.yml or environment variables (database, mailer, auth providers) - Enable OIDC for single sign-on with Authentik, Keycloak, or any OpenID provider - Set up SMTP for email notifications and task reminders ## Key Features - Four project views: list, kanban, Gantt, and table — switch per project - CalDAV integration for syncing tasks to Apple Reminders, Thunderbird, and other clients - Import from Todoist, Trello, and Microsoft To Do for easy migration - Recurring tasks with flexible schedules (daily, weekly, monthly, custom) - REST API and webhooks for automation and third-party integrations ## Comparison with Similar Tools - **Todoist** — polished commercial to-do app with no self-hosting option - **Planka** — kanban-focused board without list or Gantt views - **Plane** — project management with issue tracking; heavier and more developer-oriented - **Focalboard** — Notion-like boards by Mattermost; less active since Mattermost deprecated it - **Tasks.org** — Android-only task app with CalDAV; Vikunja offers a full web UI plus CalDAV ## FAQ **Q: Can I use Vikunja on my phone?** A: Yes, via the responsive web UI or by syncing tasks to your phone's calendar/reminders app via CalDAV. **Q: Does Vikunja support teams?** A: Yes, create teams, share projects with specific permissions, and assign tasks to team members. **Q: How do I migrate from Todoist?** A: Use the built-in importer: go to Settings, select Todoist, and provide your API token to import all projects and tasks. **Q: What are the server requirements?** A: Vikunja is lightweight. A 1-core VPS with 512 MB RAM and SQLite handles personal use comfortably. ## Sources - https://github.com/go-vikunja/vikunja - https://vikunja.io/docs --- Source: https://tokrepo.com/en/workflows/92a4894d-3d18-11f1-9bc6-00163e2b0d79 Author: AI Open Source