Plane est un outil open source de gestion de projet - tickets, cycles, modules et pages, sur le même terrain que Jira et Linear - et l’une des applications auto-hébergées les plus lourdes que l’on puisse installer sur un petit VPS. La Community Edition embarque une pile de treize conteneurs. L’essentiel de ce guide porte donc sur le bon dimensionnement du serveur, pas sur la frappe de docker compose up.
Pourquoi héberger soi-même Plane ?
L’offre hébergée se facture par utilisateur. L’auto-hébergement supprime ce coût et garde l’historique des tickets, les pièces jointes et les données de projet sur une infrastructure que vous maîtrisez - ce qui compte quand le suivi contient des noms de clients, des failles de sécurité ou des éléments de feuille de route non publiés. La Community Edition est sous licence AGPL-3.0 : vous pouvez donc l’exploiter en entreprise sans redevance.
La contrepartie est réelle : les mises à jour, les sauvegardes et l’instance Postgres vous incombent. Si personne dans l’équipe ne veut de ce rôle, la version hébergée est la réponse honnête.
Prérequis
La documentation de Plane énonce clairement les besoins :
- 2 cœurs CPU, x64/AMD64 ou AArch64/ARM64
- 4 Go de RAM au minimum, 8 Go recommandés en production
- Ubuntu, Debian, CentOS ou Amazon Linux 2/2023
- Docker Engine 20.10+ et Docker Compose v2
- Ports 80 et 443 joignables, ainsi qu’un domaine pointant vers le serveur
Ce plancher de 4 Go n’est pas une marge de confort. La pile lance web, admin, space, api, worker, beat-worker, migrator, live, un proxy, plus postgres:15.7-alpine, valkey/valkey:7.2.11-alpine, rabbitmq:3.13.6-management-alpine et minio/minio. Treize conteneurs au repos consomment l’essentiel de 4 Go avant qu’un seul utilisateur ne se connecte.
S’il vous faut encore un serveur, Contabo, Hetzner Cloud et DigitalOcean proposent des offres qui franchissent la barre - voyez le tableau ci-dessous et notre comparatif VPS complet.
Étape 1 : choisir une offre dépassant 4 Go
C’est là que la plupart des installations de Plane échouent. Chez presque tous les hébergeurs, l’offre la moins chère dispose de 1 Go de RAM, soit le quart du minimum documenté par Plane.
| Offre | vCPU / RAM / Disque | Prix | Verdict pour Plane |
|---|---|---|---|
| Contabo Cloud VPS 4 | 4 / 8 Go / 100 Go SSD | 5,50 EUR/mois HT | Atteint les 8 Go recommandés |
| Hetzner CX33 | 4 / 8 Go / 80 Go NVMe | 8,49 EUR/mois HT | Atteint les 8 Go recommandés |
| Hetzner CX23 | 2 / 4 Go / 40 Go NVMe | 5,49 EUR/mois HT | Exactement le minimum ; convient à une petite équipe |
| DigitalOcean, droplet d’entrée | 1 / 1 Go / 25 Go | 6 USD/mois | Trop juste - Plane n’y tournera pas |
Déployez Ubuntu 24.04 LTS, créez un utilisateur non privilégié puis activez le pare-feu :
sudo apt update && sudo apt upgrade -y
sudo adduser plane
sudo usermod -aG sudo plane
sudo ufw allow OpenSSH && sudo ufw allow 80 && sudo ufw allow 443
sudo ufw enable
Étape 2 : installer Docker
Plane exige Compose v2. Installez depuis le dépôt de Docker afin d’obtenir docker-compose-plugin plutôt que le script v1 en fin de vie :
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
Déconnectez-vous, reconnectez-vous, puis vérifiez la version :
docker compose version
Étape 3 : faire pointer le DNS vers le serveur d’abord
Faites-le avant de lancer l’installeur. Celui-ci demande votre domaine pendant la configuration et l’inscrit dans WEB_URL et CORS_ALLOWED_ORIGINS ; si le DNS ne résout pas encore, l’émission du certificat échoue et vous éditerez ensuite des fichiers d’environnement.
Créez un enregistrement A pour plane.example.com vers l’adresse IP du VPS et attendez qu’il résolve :
dig +short plane.example.com
Étape 4 : lancer l’installeur officiel
Plane distribue un unique script d’installation qui télécharge des images précompilées et écrit un docker-compose.yaml géré :
curl -fsSL https://prime.plane.so/install/ | sh -
Le script demande votre domaine, puis propose Express (valeurs par défaut) ou Advanced (réglage variable par variable). Express convient pour une première installation. À la fin, Plane répond sur les ports 80 et 443, pilotés par LISTEN_HTTP_PORT et LISTEN_HTTPS_PORT.
Une précision sur le dépôt : le docker-compose.yml présent sur GitHub compile chaque service depuis les sources au lieu de télécharger des images. C’est un flux de travail destiné aux contributeurs - une compilation demande bien plus de RAM que l’exécution, et elle échouera ou saturera un VPS de 4 Go. Utilisez l’installeur.
Ouvrez https://plane.example.com et créez le premier compte. Ce compte devient administrateur de l’instance ; le panneau d’administration se trouve sous /god-mode/, où vous configurez le SMTP, les restrictions d’inscription et l’authentification.
Étape 5 : sauvegarder ce qui compte vraiment
Deux éléments contiennent vos données : le volume PostgreSQL et le volume MinIO, qui stocke chaque pièce jointe. Un instantané du VPS couvre les deux, mais un dump de base restaurable de façon sélective vaut son pesant d’or :
docker exec plane-db pg_dump -U plane plane | gzip > plane-$(date +%F).sql.gz
Copiez le dump hors du serveur. Une sauvegarde posée sur le disque que vous sauvegardez n’est pas une sauvegarde.
Comparatif des VPS pour héberger Plane
| Hébergeur | Offre d’entrée à partir de 4 Go | Prix (par mois) | Remarques | Lien |
|---|---|---|---|---|
| Contabo | Cloud VPS 4 - 4 vCPU, 8 Go, 100 Go SSD | 5,50 EUR HT | La voie la moins chère vers les 8 Go recommandés | Contabo |
| Hetzner Cloud | CX23 - 2 vCPU, 4 Go, 40 Go NVMe | 5,49 EUR HT | Atteint le minimum ; CX33 à 8,49 pour 8 Go | Hetzner |
| DigitalOcean | 2 vCPU, 4 Go, 80 Go SSD | 24 USD | Plus cher, mais la documentation et les instantanés sont les meilleurs | DigitalOcean |
| Vultr | 2 vCPU, 4 Go, 80 Go SSD | 20 USD | Le moins cher des trois ; large choix de régions | Vultr |
| Linode (Akamai) | 2 vCPU, 4 Go, 80 Go SSD | 24 USD | Performances prévisibles, API solide | Linode |
La tendance saute aux yeux : les hébergeurs américains demandent de 20 à 24 USD pour le palier 4 Go, soit environ trois à quatre fois l’équivalent européen. Pour un suivi de tickets auto-hébergé qui dessert un seul bureau dans une seule région, cet écart est difficile à justifier.
Pour l’ensemble du marché, consultez notre comparatif VPS complet.
Là où les équipes se font piéger
Dimensionner d’après la page produit plutôt que la documentation. Plane ressemble à une application web ; il se comporte comme une petite plateforme. Quatre Go sont le plancher, pas la cible.
Négliger le SMTP. Sans messagerie configurée dans /god-mode/, les invitations n’arrivent jamais et vous ne pouvez ajouter personne à l’espace de travail. Réglez cela avant d’intégrer l’équipe.
Oublier MinIO dans la sauvegarde. Sauvegarder Postgres seul vous rend chaque ticket et chaque commentaire, sans la moindre pièce jointe.
Plane vaut l’effort d’installation si votre équipe vit déjà dans un outil de suivi et préfère ne pas payer par utilisateur. Dimensionnez correctement la machine, déposez les sauvegardes ailleurs, et le service tournera sans faire de bruit.
Pour d’autres projets et conseils d’auto-hébergement, parcourez la liste awesome-selfhosted ou la communauté r/selfhosted.
Frequently asked questions
Puis-je héberger Plane sur un VPS doté de 1 Go ou 2 Go de RAM ?
Non. La documentation de Plane fixe le plancher à 2 cœurs CPU et 4 Go de RAM, et la pile Compose de la Community Edition démarre treize conteneurs, dont PostgreSQL, Valkey, RabbitMQ et MinIO. Sur une machine de 2 Go, l'installeur va jusqu'au bout, mais les conteneurs sont tués faute de mémoire dès le premier usage réel. 4 Go constituent le minimum viable et la documentation recommande 8 Go en production.
Comment mettre à jour Plane vers une version plus récente ?
Relancez le script de gestion que l'installeur a déposé sur le serveur et choisissez l'option de mise à jour. Sinon, depuis le répertoire d'installation, exécutez docker compose pull puis docker compose up -d. Le conteneur migrator applique les migrations de base au démarrage : faites donc un dump PostgreSQL et un instantané avant. Lisez d'abord les notes de version, car les versions majeures modifient parfois des variables d'environnement.
Ai-je besoin d'un nom de domaine pour faire tourner Plane ?
En pratique oui. L'installeur demande votre domaine pendant la configuration et l'inscrit dans WEB_URL et CORS_ALLOWED_ORIGINS, que le frontend et l'API utilisent pour communiquer. Une simple adresse IP convient pour un essai local mais casse la configuration CORS dès que l'adresse change, et sans domaine aucun certificat Let's Encrypt ne peut être émis.