📍 Article principal du cluster : Directus 2026 : guide complet.
Trente minutes pour transformer un VPS vide en serveur Directus opérationnel. Méthode éprouvée chez plusieurs PME francophones d’Afrique de l’Ouest, avec coût total 4,51 € par mois.
Prérequis
- Hetzner CX22 minimum (Postgres + Directus + MinIO confortables).
- Coolify v4 installé.
- Nom de domaine DNS A :
cms.votre-entreprise.com. - Niveau attendu : intermédiaire.
- Temps estimé : 30-45 minutes.
Étape 1 — DNS
dig +short cms.votre-entreprise.com # IP VPS
Étape 2 — Service Directus dans Coolify
Resources → + New → Service → rechercher « Directus ». Coolify déploie le template officiel avec Postgres 16 inclus.
Étape 3 — Variables d’environnement
KEY=générer-uuid-v4
SECRET=générer-32-octets-base64
ADMIN_EMAIL=admin@votre-entreprise.com
ADMIN_PASSWORD=mot-de-passe-très-fort
DB_CLIENT=pg
DB_HOST=directus-db
DB_PORT=5432
DB_DATABASE=directus
DB_USER=directus
DB_PASSWORD=mot-de-passe-fort
PUBLIC_URL=https://cms.votre-entreprise.com
CACHE_ENABLED=true
CACHE_STORE=redis
REDIS=redis://directus-redis:6379
# MinIO storage
STORAGE_LOCATIONS=local,s3
STORAGE_LOCAL_DRIVER=local
STORAGE_LOCAL_ROOT=/uploads
STORAGE_S3_DRIVER=s3
STORAGE_S3_KEY=...
STORAGE_S3_SECRET=...
STORAGE_S3_BUCKET=directus
STORAGE_S3_REGION=eu-central-1
STORAGE_S3_ENDPOINT=https://minio.votre-entreprise.com
Étape 4 — Domaine HTTPS
Onglet Domains : https://cms.votre-entreprise.com. Force HTTPS.
Étape 5 — Lancer Deploy
Coolify pull directus/directus + postgres + redis. Comptez 3 minutes.
Étape 6 — Premier login Studio
Ouvrir https://cms.votre-entreprise.com/admin. Saisir email + password admin définis. Studio s’ouvre.
Étape 7 — Créer première collection
Settings → Data Model → Create Collection. Exemple « Articles » :
- Field : title (Input, required).
- Field : slug (Input, unique).
- Field : content (WYSIWYG).
- Field : status (Select, options: draft/published).
- Field : author (Many to One → directus_users).
- Field : cover_image (Image).
Étape 8 — Créer premier item
Sidebar → Articles → Create. Saisir données. Save. Item créé en base et accessible via API.
Étape 9 — Test API REST
# Token utilisateur depuis Studio
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://cms.votre-entreprise.com/items/articles
# Doit retourner JSON avec items créés
Étape 10 — Configurer permissions Public
Settings → Access Control → Public → Articles. Activer Read pour endpoints publics. Test :
curl https://cms.votre-entreprise.com/items/articles
# Doit retourner sans token
Étape 11 — Sauvegardes
# Cron quotidien
docker exec directus-db pg_dump -U directus directus | gzip > /tmp/dir-pg.gz
mc mirror minio-prod/directus /backup/directus-files/
restic backup /tmp/dir-pg.gz /backup/directus-files
rm /tmp/dir-pg.gz
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| Studio crashes au login | SECRET trop court | 32 octets base64 minimum |
| S3 upload échoue | Endpoint slash final | Sans slash final |
| API 403 sur public | Permissions pas configurées | Public role activer Read |
| Trop lent | Cache Redis désactivé | CACHE_ENABLED=true |
| WebSocket déconnecté | Caddy pas WS-aware | Vérifier reverse_proxy WS |
| Migration Postgres bloquée | Permissions DB | User Postgres avec CREATE DATABASE |
Adaptation au contexte ouest-africain
Trois précisions. Hetzner Storage Box : alternative MinIO pour stocker fichiers volumineux (catalogue produits). 1 To à 3,20 €/mois. Multilingue collection : Directus translations interface gère FR/AR/EN sans duplications. Crucial pour Maroc, Tunisie, Liban. Editor permissions : limiter rédacteurs marketing à édition uniquement, jamais delete. Workflow draft → review → published.
Tutoriels frères
FAQ
Directus Cloud ou self-hosted ? Self-hosted gratuit complet. Cloud à partir de 99 USD/mois si pas de sysadmin.
Migration depuis Strapi ? Export JSON, scripts custom pour mapping schéma.
Postgres ou MySQL ? Postgres recommandé (FTS natif, pgvector pour IA, plus solide).
Plugins/extensions ? 100+ extensions community + custom Vue components.
Capacité Hetzner CX22 ? 100k items + 50 admins confortable.
Pour aller plus loin
- 🔝 Retour au pilier : Guide complet Directus 2026
- Documentation : docs.directus.io/self-hosted