Files
2026-06-09 18:40:21 +02:00

5.2 KiB


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
GitHub vikunja/vikunja
Licence AGPL-3.0
Langage Go, Vue.js, TypeScript
Étoiles GitHub 491
Dernière MAJ 2026-05-28
Catégorie cat-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

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)

# 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

Pages Liées