Files
wiki/Catalogue-Self-Hosted/apps/app-directus.md
T
2026-06-09 18:40:21 +02:00

3.7 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Directus 2026-06-08 2026-06-08 app
catalogue
app
content-management
auto-hebergement
high false
https://selfh.st/apps/?search=directus
https://github.com/directus/directus

📰 Directus

Headless CMS et backend open source qui s'installe par-dessus n'importe quelle base SQL existante et expose une API instantanée.

📊 Métadonnées

Champ Valeur
Nom Directus
Slug directus
Catégorie principale cat-content-management
Langage lang_id=8
Stars 36003
Dernière MAJ 2026-06-05
Repo github.com/directus/directus
Site directus.com

📝 Description

Directus est un headless CMS et plateforme de données qui s'installe par-dessus une base SQL (PostgreSQL, MySQL, SQLite, etc.) et l'enveloppe avec une API REST + GraphQL automatique, un admin panel complet et un studio no-code pour les non-développeurs. C'est l'un des projets open source les plus actifs de sa catégorie, avec plus de 36 000 étoiles sur GitHub.

L'interface permet de modéliser des collections et champs, gérer des fichiers, définir des permissions fines par rôle, créer des flows d'automatisation et exposer des webhooks. L'extension via hooks JavaScript/TypeScript et apps custom permet de l'adapter à quasiment tous les cas d'usage : blog, intranet, back-office produit, headless commerce, dashboard BI, etc.

🐳 Installation Docker

# docker-compose.yml minimal
services:
  directus:
    image: directus/directus:latest
    container_name: directus
    restart: unless-stopped
    ports:
      - "8055:8055"
    volumes:
      - ./data:/directus/database
      - ./uploads:/directus/uploads
      - ./extensions:/directus/extensions
    environment:
      - KEY=replace-with-random-32-chars
      - SECRET=replace-with-random-string
      - DB_CLIENT=sqlite3
      - DB_FILENAME=/directus/database/data.db
      - ADMIN_EMAIL=admin@example.com
      - ADMIN_PASSWORD=changeme
      - WEBSOCKETS_ENABLED=true

⚠️ Adapte image/port/volumes selon le README officiel : https://github.com/directus/directus

🔀 Reverse Proxy (Traefik)

services:
  directus:
    image: directus/directus:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.directus.rule=Host(`directus.example.com`)"
      - "traefik.http.routers.directus.entrypoints=websecure"
      - "traefik.http.routers.directus.tls.certresolver=letsencrypt"
      - "traefik.http.services.directus.loadbalancer.server.port=8055"

🔧 Configuration

  • Connexion à la base SQL existante via variables d'environnement DB_*
  • Création du premier admin via ADMIN_EMAIL / ADMIN_PASSWORD au premier démarrage
  • Extensions : marketplace in-app pour installer dashboards, interfaces, hooks

🔀 Alternatives

Open source :

  • Strapi (Node.js, headless CMS leader)
  • Payload (Next.js, TypeScript-first)
  • Pocketbase (Go, single binary, SQLite)

Propriétaires :

  • Contentful (SaaS, leader enterprise)
  • Sanity (SaaS, structure flexible)

🔒 Sécurité

  • Authentification par email/mot de passe + SSO (OAuth2, LDAP, SAML) via extensions
  • Permissions granulaires par rôle, champ et item
  • Rate-limiting intégré, support 2FA
  • À servir derrière HTTPS ; KEY et SECRET doivent être générés aléatoirement

📚 Ressources

🔗 Pages Liées