Vikunja
Modifié par john le 2026/09/19 13:40
Gestionnaire de tâches et de projets, qui va de la simple liste de choses à faire à la gestion de projet en équipe.
Fonctionnalités
- Quatre vues sur les mêmes tâches : liste, tableau kanban, diagramme de Gantt, tableau détaillé.
- Tâches complètes : étiquettes, priorités, échéances, rappels, récurrences, sous-tâches et dépendances, pièces jointes, commentaires, personnes assignées.
- Saisie rapide en langage naturel : une date ou une étiquette tapée dans le titre est reconnue automatiquement.
- Partage de projets avec d'autres utilisateurs, des équipes ou par lien public ; filtres enregistrés couvrant plusieurs projets.
- Synchronisation CalDAV, dans les deux sens, avec les applications de calendrier et de tâches (Thunderbird, DAVx5…).
- Import depuis Todoist, Trello et Microsoft To-Do.
Architecture
| Conteneur | Rôle |
|---|---|
| vikunja | Application (API et interface web) |
| vikunja-db | Base PostgreSQL 18 |
Stack
networks:
proxy:
external: true
services:
vikunja-db:
image: postgres:18
container_name: vikunja-db
environment:
- POSTGRES_DB=vikunja
- POSTGRES_USER=vikunja
- POSTGRES_PASSWORD=<MOT_DE_PASSE>
- TZ=Europe/Paris
volumes:
- <APPDATA>/vikunja/postgres:/var/lib/postgresql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
vikunja:
image: vikunja/vikunja:2.1.0
container_name: vikunja
environment:
- TZ=Europe/Paris
- VIKUNJA_SERVICE_PUBLICURL=<URL_VIKUNJA>/
- VIKUNJA_SERVICE_JWTSECRET=<SECRET_JWT>
- VIKUNJA_SERVICE_TIMEZONE=Europe/Paris
- VIKUNJA_DATABASE_TYPE=postgres
- VIKUNJA_DATABASE_HOST=vikunja-db
- VIKUNJA_DATABASE_PORT=5432
- VIKUNJA_DATABASE_USER=vikunja
- VIKUNJA_DATABASE_PASSWORD=<MOT_DE_PASSE>
- VIKUNJA_DATABASE_DATABASE=vikunja
volumes:
- <APPDATA>/vikunja/files:/app/vikunja/files
networks:
- default
- proxy
depends_on:
vikunja-db:
condition: service_healthy
restart: unless-stopped
proxy:
external: true
services:
vikunja-db:
image: postgres:18
container_name: vikunja-db
environment:
- POSTGRES_DB=vikunja
- POSTGRES_USER=vikunja
- POSTGRES_PASSWORD=<MOT_DE_PASSE>
- TZ=Europe/Paris
volumes:
- <APPDATA>/vikunja/postgres:/var/lib/postgresql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
vikunja:
image: vikunja/vikunja:2.1.0
container_name: vikunja
environment:
- TZ=Europe/Paris
- VIKUNJA_SERVICE_PUBLICURL=<URL_VIKUNJA>/
- VIKUNJA_SERVICE_JWTSECRET=<SECRET_JWT>
- VIKUNJA_SERVICE_TIMEZONE=Europe/Paris
- VIKUNJA_DATABASE_TYPE=postgres
- VIKUNJA_DATABASE_HOST=vikunja-db
- VIKUNJA_DATABASE_PORT=5432
- VIKUNJA_DATABASE_USER=vikunja
- VIKUNJA_DATABASE_PASSWORD=<MOT_DE_PASSE>
- VIKUNJA_DATABASE_DATABASE=vikunja
volumes:
- <APPDATA>/vikunja/files:/app/vikunja/files
networks:
- default
- proxy
depends_on:
vikunja-db:
condition: service_healthy
restart: unless-stopped
- PostgreSQL 18 : le volume se monte sur /var/lib/postgresql et non plus sur /var/lib/postgresql/data comme avec les versions précédentes.
- VIKUNJA_SERVICE_JWTSECRET signe les sessions : le changer déconnecte tous les utilisateurs.
- L'image est épinglée sur une version précise : Watchtower ne la met pas à jour. Changer le tag à la main après lecture des notes de version.
- Aucun serveur de courriel configuré : pas de rappels par courriel ni de réinitialisation de mot de passe.
Synchronisation CalDAV
Créer un jeton dans Paramètres > CalDAV, puis configurer le client avec :
<URL_VIKUNJA>/dav/principals/<UTILISATEUR>/
Sauvegarde
- Base : dump SQL de vikunja-db par le script de Sauvegarde.
- Pièces jointes : <APPDATA>/vikunja/files, sauvegardé tel quel.