L'hébergement multi-tenant Ghost permet de gérer plusieurs sites clients depuis un seul serveur. Avec Docker et Traefik, chaque instance est isolée, sécurisée, et consomme moins de 150 Mo de RAM. Voici l'architecture complète.
Le concept
Chaque client dispose de sa propre instance Ghost avec :
- Sa propre base de données MySQL
- Son propre nom de domaine avec SSL automatique
- Son propre espace de stockage pour les médias
- Son propre accès admin isolé
Tout tourne sur un seul VPS, orchestré par Docker Compose et routé par Traefik.
Architecture Docker
Le docker-compose.yml suit un pattern simple : un service Traefik, un MySQL partagé, et un service Ghost par client :
services:
traefik:
# ... config reverse proxy
mysql:
# ... base partagée
ghost-client-a:
image: ghost:5-alpine
environment:
url: https://blog.client-a.fr
database__connection__database: ghost_client_a
labels:
- traefik.http.routers.client-a.rule=Host(\`blog.client-a.fr\`)
ghost-client-b:
image: ghost:5-alpine
environment:
url: https://blog.client-b.fr
database__connection__database: ghost_client_b
labels:
- traefik.http.routers.client-b.rule=Host(\`blog.client-b.fr\`)Dimensionnement
Sur un VPS typique (6 vCPU, 12 Go RAM) :
- Traefik : ~20 Mo
- MySQL : ~400-500 Mo
- Chaque instance Ghost : ~100-150 Mo
Calcul : 12 Go - 500 Mo (MySQL) - 20 Mo (Traefik) = ~11.5 Go disponibles. Soit environ 75 instances Ghost théoriques, ou confortablement 20-30 en production avec marge.
Ajouter un nouveau client
La procédure est standardisée :
- Créer la base de données et l'utilisateur MySQL
- Ajouter le service Ghost dans
docker-compose.yml - Configurer le DNS (enregistrement A vers le VPS)
- Lancer le conteneur :
docker compose up -d ghost-nouveau-client - Traefik détecte automatiquement le nouveau service et obtient le certificat SSL
Temps total : environ 5 minutes une fois la procédure rodée.
Isolation et sécurité
Chaque instance Ghost :
- A sa propre base de données — impossible d'accéder aux données d'un autre client
- Tourne dans son propre conteneur Docker — isolation des processus
- A son propre volume pour les fichiers uploadés
- N'est accessible que via Traefik — aucun port exposé directement
Monitoring
Avec Netdata et Uptime Kuma (eux aussi en Docker), vous surveillez :
- La RAM et CPU de chaque conteneur
- La disponibilité de chaque site client
- Les alertes en cas de panne ou de surcharge
Facturation et modèle économique
Un VPS à 10-15€/mois hébergeant 10 clients Ghost à 15-30€/mois chacun représente une marge confortable. L'auto-hébergement devient un service à valeur ajoutée que vous proposez à vos clients, plutôt qu'un coût.
Conclusion
Le multi-tenant Ghost est une architecture mature et économique. Docker fournit l'isolation, Traefik gère le routage et le SSL, et Ghost offre une interface éditoriale que vos clients peuvent utiliser sans formation. C'est la base d'une offre d'hébergement managé rentable.