Héberger Vikunja : votre gestionnaire de tâches et to-do (alternative à Todoist)
Organiser ses tâches perso ou d'équipe sans confier ses projets à un SaaS. Vikunja est un gestionnaire de tâches léger et souverain. Voici comment l'héberger sur un petit VPS.
Organiser ses tâches personnelles ou coordonner une petite équipe implique souvent de confier ses projets, ses échéances et parfois des informations sensibles à un service SaaS. Vikunja propose une autre approche : installer son propre gestionnaire de tâches open source et conserver la maîtrise de ses données.
Plus léger qu’une plateforme complète de gestion de produit, Vikunja couvre les usages essentiels d’une alternative à Todoist, Asana ou Microsoft To Do. Il fonctionne sur un petit VPS et convient aussi bien aux listes personnelles qu’au suivi collaboratif de projets.
Que permet de faire Vikunja ?
Vikunja organise le travail autour de projets contenant des tâches et des sous-tâches. Chaque tâche peut recevoir une échéance, un rappel, une priorité, des étiquettes, une description et des pièces jointes. Les favoris donnent un accès rapide aux éléments importants.
Plusieurs vues permettent d’adapter l’interface à son usage :
- La liste pour saisir et traiter rapidement des tâches
- Le kanban pour déplacer les tâches entre différentes étapes
- Le diagramme de Gantt pour visualiser leur déroulement dans le temps
- Le calendrier pour repérer les échéances
- Le tableau pour afficher les informations de manière structurée
Les projets et espaces de travail peuvent être partagés avec d’autres utilisateurs ou équipes. Vikunja devient ainsi un outil collaboratif simple pour répartir les responsabilités, suivre l’avancement et centraliser les tâches récurrentes.
L’interface web est accessible depuis un navigateur, tandis que l’usage mobile permet de consulter et mettre à jour ses tâches en déplacement. L’application reste centrée sur la gestion quotidienne, sans imposer les nombreux modules d’une suite de gestion de projet complexe.
Vikunja ou Plane : lequel choisir ?
Vikunja et Plane sont deux solutions open source, mais elles répondent à des besoins différents.
Vikunja convient surtout à la gestion de tâches personnelles et au travail en petite équipe. Sa prise en main est rapide, sa consommation de ressources reste modérée et ses différentes vues couvrent la majorité des besoins d’organisation.
Plane vise davantage les équipes produit et les développeurs. Il propose une gestion plus poussée des cycles, des tickets, des modules et des processus de développement. Cette richesse entraîne une architecture et une administration plus lourdes.
Pour remplacer Todoist, Microsoft To Do ou un tableau de tâches partagé, Vikunja constitue généralement le choix le plus direct. Pour piloter un produit logiciel avec plusieurs équipes et des workflows détaillés, Plane peut être plus adapté.
Prérequis pour auto-héberger Vikunja
Une installation destinée à quelques personnes demande peu de ressources. Il faut prévoir :
- Un petit VPS Linux
- Docker et le plugin Docker Compose (voir installer Docker sur un VPS)
- Un nom de domaine ou un sous-domaine
- Un enregistrement DNS pointant vers l’adresse IP du serveur
- Un reverse proxy capable de fournir un certificat HTTPS
Les VPS TalCloud sont hébergés en France sur une infrastructure NVMe, avec protection Anti-DDoS Netrix et support humain. Cette localisation facilite une démarche de maîtrise des données et de conformité au RGPD.
SQLite peut suffire pour un usage personnel avec peu d’activité. Pour une équipe, PostgreSQL est recommandé : il offre une meilleure base pour les accès simultanés, les sauvegardes et l’évolution de l’installation.
Déployer Vikunja avec Docker Compose
Les versions récentes utilisent l’image vikunja/vikunja, qui regroupe l’API et l’interface web. Commencez par créer le dossier de travail :
mkdir -p vikunja/vikunja-files
cd vikunja
Générez ensuite un secret JWT aléatoire :
openssl rand -hex 32
Créez un fichier .env et remplacez les valeurs d’exemple par des secrets uniques :
POSTGRES_PASSWORD=remplacez-par-un-mot-de-passe-long
VIKUNJA_JWT_SECRET=collez-ici-le-secret-genere
VIKUNJA_PUBLIC_URL=https://tasks.example.fr/
Le fichier compose.yml peut alors contenir :
services:
db:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: vikunja
POSTGRES_USER: vikunja
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U vikunja -d vikunja"]
interval: 10s
timeout: 5s
retries: 5
vikunja:
image: vikunja/vikunja:latest
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
VIKUNJA_SERVICE_PUBLICURL: ${VIKUNJA_PUBLIC_URL}
VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_JWT_SECRET}
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
VIKUNJA_SERVICE_ENABLEREGISTRATION: "true"
volumes:
- ./vikunja-files:/app/vikunja/files
ports:
- "127.0.0.1:3456:3456"
volumes:
postgres-data:
L’adresse 127.0.0.1 empêche l’exposition directe de Vikunja sur Internet. Seul le reverse proxy installé sur le serveur pourra joindre le port 3456.
Démarrez les services et vérifiez leur état :
docker compose up -d
docker compose ps
docker compose logs -f vikunja
Effectuer le premier accès
Ouvrez l’adresse définie dans VIKUNJA_PUBLIC_URL, puis créez le premier compte. Commencez par un projet simple, ajoutez quelques tâches et attribuez-leur des échéances, des priorités ou des étiquettes.
Pour une instance personnelle ou une équipe fermée, désactivez ensuite les inscriptions publiques dans compose.yml :
VIKUNJA_SERVICE_ENABLEREGISTRATION: "false"
Appliquez la modification :
docker compose up -d
Les comptes existants restent utilisables. Cette mesure empêche simplement des visiteurs de créer librement un nouveau compte.
Exploiter les vues, échéances et rappels
La vue liste est idéale pour la saisie rapide et les tâches personnelles. Le kanban permet de créer des colonnes comme « À faire », « En cours » et « Terminé », puis de déplacer les cartes au fil de l’avancement.
Le Gantt apporte une vision temporelle aux projets comportant plusieurs étapes. Le calendrier rassemble les tâches datées et permet d’identifier les périodes chargées. La vue tableau facilite enfin le tri par priorité, responsable, échéance ou étiquette.
Pour obtenir un suivi fiable, renseignez systématiquement les dates importantes et utilisez les rappels avant les échéances. Dans une équipe, assignez chaque tâche à une personne et limitez le nombre d’étiquettes afin de conserver une organisation lisible.
Publier Vikunja en HTTPS
Configurez votre reverse proxy pour transmettre le trafic HTTPS vers :
http://127.0.0.1:3456
La valeur de VIKUNJA_SERVICE_PUBLICURL doit correspondre exactement à l’adresse publique utilisée, protocole HTTPS compris. Une valeur incohérente peut provoquer des redirections incorrectes ou des problèmes avec les liens générés par l’application.
Le proxy doit également transmettre les en-têtes standards décrivant l’hôte et le protocole d’origine. Nginx Proxy Manager ou Traefik conviennent. Une fois le certificat actif, vérifiez que l’accès HTTP est automatiquement redirigé vers HTTPS.
Sécuriser, mettre à jour et sauvegarder
Ne publiez jamais le port PostgreSQL. Dans cette configuration, la base reste accessible uniquement sur le réseau Docker. Protégez aussi le fichier .env, utilisez des secrets longs, gardez les ports fermés au niveau du pare-feu et désactivez les inscriptions lorsque l’instance n’est pas publique.
Pour mettre à jour Vikunja :
docker compose pull
docker compose up -d
docker compose logs --tail=100 vikunja
Effectuez une sauvegarde avant chaque mise à jour importante. La sauvegarde doit inclure PostgreSQL et le dossier des fichiers :
mkdir -p backups
docker compose exec -T db pg_dump -U vikunja -d vikunja > backups/vikunja.sql
tar -czf backups/vikunja-files.tar.gz vikunja-files
Conservez une copie chiffrée sur un autre système et testez périodiquement la restauration. Notre guide sur les sauvegardes chiffrées avec restic aide à automatiser cette copie. Avec la base, les pièces jointes et le fichier de configuration correctement sauvegardés, Vikunja offre une plateforme de tâches légère, collaborative et souveraine, sans dépendre d’un SaaS tiers.