---
title: Vikunja
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, kanban, tasks, todo, gtd, golang, vuejs, postgresql, agpl, todoist-alternative]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Kanban, https://github.com/vikunja/vikunja, https://vikunja.io/docs/]
---

# ✅ Vikunja

> **Le gestionnaire de tâches et Kanban en Go** — lists/kanban/Gantt/calendrier, frontend Vue.js, API REST, alternative open source à Todoist et TickTick.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [vikunja.io](https://vikunja.io/) |
| **GitHub** | [vikunja/vikunja](https://github.com/vikunja/vikunja) |
| **Licence** | AGPL-3.0 |
| **Langage** | Go, Vue.js, TypeScript |
| **Étoiles GitHub** | 491 ⭐ |
| **Dernière MAJ** | 2026-05-28 |
| **Catégorie** | [[cat-kanban\|Kanban]] |

## 📝 Description

**Vikunja** est un **gestionnaire de tâches open source** écrit principalement en **Go** (backend) et **Vue.js** (frontend), avec un **stockage PostgreSQL**, MySQL ou SQLite. Le projet vise explicitement à proposer une **alternative open source à Todoist, TickTick et Asana**, avec une approche flexible qui combine **listes classiques, Kanban, Gantt, agenda et table views** sur les mêmes données.

L'**API REST est complète et bien documentée**, ce qui rend Vikunja idéal pour des **scénarios domotiques ou d'automation** : un script Python ou un workflow **n8n** peut pousser/lire des tâches. Les **clients officiels** existent en **web (SPA), desktop (Electron), iOS, Android, et CLI** (`vikunja-cli`). Le **module Vikunja CalDAV** permet de synchroniser les tâches avec un calendrier (Nextcloud, Thunderbird).

Pour un usage personnel ou une petite équipe, Vikunja se distingue de [[app-planka]] (purement Kanban) par ses **vues multiples** sur la même donnée, et de [[app-kanboard]] par une stack plus moderne (Go + Vue) avec une **meilleure mise à jour** (release bimestrielle). Le tout reste léger : un binaire ~30 Mo, peu de RAM consommée.

## 🚀 Installation

### Option recommandée : Docker Compose

```yaml
services:
  vikunja:
    image: vikunja/vikunja:latest
    container_name: vikunja
    restart: unless-stopped
    ports:
      - "3456:3456"
    environment:
      VIKUNJA_DATABASE_HOST: "db"
      VIKUNJA_DATABASE_PASSWORD: "***"
      VIKUNJA_DATABASE_TYPE: "postgres"
      VIKUNJA_DATABASE_USER: "vikunja"
      VIKUNJA_DATABASE_NAME: "vikunja"
      VIKUNJA_SERVICE_ROOTURL: "https://todo.example.com"
      VIKUNJA_MAILER_ENABLED: "true"
      VIKUNJA_MAILER_HOST: "smtp.example.com"
      VIKUNJA_MAILER_PORT: "587"
      VIKUNJA_MAILER_USERNAME: "noreply@example.com"
      VIKUNJA_MAILER_PASSWORD: "***"
    volumes:
      - vikunja-files:/app/vikunja/files
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    container_name: vikunja-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: vikunja
      POSTGRES_PASSWORD: vikunja
      POSTGRES_DB: vikunja
    volumes:
      - vikunja-pg:/var/lib/postgresql/data

volumes:
  vikunja-pg:
  vikunja-files:
```

### Binaire unique (sans Docker)

```bash
# Télécharger le binaire pré-compilé
wget https://dl.vikunja.io/vikunja/v0.21.0/vikunja-0.21.0-linux-amd64-full
chmod +x vikunja && sudo mv vikunja /usr/local/bin/
vikunja migrate
vikunja serve
```

## ⚙️ Configuration Initiale

1. Créer un compte sur `http://localhost:3456` (premier compte = admin par défaut).
2. Renseigner le **SMTP** pour les notifications (variables `VIKUNJA_MAILER_*`).
3. Activer le **reverse-proxy HTTPS** (Traefik, Caddy, Nginx).
4. Configurer les **calendriers CalDAV** dans *Settings → Calendars* pour la sync externe.
5. Générer un **token API** dans *Settings → API Tokens* pour les intégrations (n8n, Home Assistant).
6. Importer depuis Todoist/CSV via le menu *Settings → Import*.
7. Sauvegardes : dump PostgreSQL + volume `vikunja-files` (pièces jointes).

## 🔄 Alternatives

### Open Source
- [[app-planka]] — Kanban pur type Trello
- [[app-wekan]] — Kanban Node.js complet
- [[app-kanboard]] — Kanban PHP minimal
- [[app-kan]] — Kanban Go (encore plus simple)
- [[app-ticky]] — Kanban minimal TypeScript
- **Taskwarrior** — CLI GTD historique
- **Org-mode** — Emacs GTD

### Propriétaires
- **Todoist**
- **TickTick**
- **Things** (Apple)
- **Asana**
- **Microsoft To Do**
- **ClickUp**

## 🔐 Sécurité

- ✅ Authentification 2FA (TOTP), WebAuthn
- ✅ OpenID Connect (Keycloak, Authentik, Auth0)
- ✅ LDAP (plugin communautaire)
- ✅ Sessions JWT, rate-limiting API
- ⚠️ Mises à jour fréquentes : suivre les **releases GitHub**
- ✅ Exiger HTTPS via reverse-proxy
- ✅ Isolation réseau du conteneur

## 📚 Ressources

- [Site officiel Vikunja](https://vikunja.io/)
- [Documentation Vikunja](https://vikunja.io/docs/)
- [GitHub vikunja/vikunja](https://github.com/vikunja/vikunja)
- [Clients Vikunja](https://vikunja.io/clients/)
- [API REST](https://vikunja.io/docs/api/)

## Pages Liées
- [[cat-kanban]] — Catégorie Kanban
- [[recettes-docker-compose]] — Templates Docker Compose
- [[app-planka]] — Alternative Kanban pur
- [[app-kan]] — Alternative Go encore plus simple
- [[securisation-home-lab]] — Bonnes pratiques sécurité
