Retour aux outils
CMS / SitesIntermédiaireOpen sourceAuto-hébergeable

Ghost

**Plateforme de publication moderne** — l'alternative moderne à WordPress, écrite en Node.js, avec u

MAJ 2026-06-14
Ghost
Site officiel Code source

Ghost est une plateforme de blog/publication open source (MIT) créée en 2013 par John O'Nolan (ex-WordPress). Conçue pour les journalistes, écrivains, et créateurs de contenu, elle mise sur un éditeur Markdown propre, un thème par défaut (Casper) élégant, et un système natif d'abonnements payants (S

Description

Ghost est une plateforme de blog/publication open source (MIT) créée en 2013 par John O'Nolan (ex-WordPress). Conçue pour les journalistes, écrivains, et créateurs de contenu, elle mise sur un éditeur Markdown propre, un thème par défaut (Casper) élégant, et un système natif d'abonnements payants (Stripe intégré). Elle tourne en Node.js, utilise SQLite ou MySQL, et est livrée avec un système de thèmes, d'API headless, et de webhooks. Différence avec WordPress : Ghost est plus moderne, plus rapide (Node.js vs PHP), plus simple à administrer, et inclut nativement le membership payant (WordPress demande WooCommerce + plugins). Pour qui: bloggers, journalistes, créateurs qui veulent un blog rapide, joli, et monétisable.

Installation

Docker Compose (recommandé)

version: '3.8'
services:
  ghost:
    image: ghost:5-alpine
    container_name: ghost
    restart: unless-stopped
    ports:
      - "2368:2368"
    environment:
      - url=https://blog.example.com
      - database__client=mysql
      - database__connection__host=ghost-db
      - database__connection__user=ghost
      - database__connection__password=***      - database__connection__database=ghost
      - mail__transport=SMTP
      - mail__options__host=mail.example.com
      - mail__options__port=587
      - [email protected]
      - mail__options__auth__pass=***    volumes:
      - ghost-content:/var/lib/ghost/content
    depends_on:
      - ghost-db
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ghost.rule=Host(`blog.example.com`)"
      - "traefik.http.routers.ghost.entrypoints=websecure"
      - "traefik.http.routers.ghost.tls.certresolver=letsencrypt"

  ghost-db:
    image: mysql:8
    container_name: ghost-db
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=***      - MYSQL_DATABASE=ghost
      - MYSQL_USER=ghost
      - MYSQL_PASSWORD=***    volumes:
      - ghost-db:/var/lib/mysql
    command: --default-authentication-plugin=mysql_native_password

volumes:
  ghost-content:
  ghost-db:

Alternatives

Open Source

  • [[app-wordpress]] — Le géant, écosystème immense
  • [[app-statamic]] — CMS flat-file PHP
  • [[app-typo3]] — CMS enterprise PHP
  • Jekyll — Static site generator Ruby
  • Hugo — Static site generator Go

Propriétaires

  • Substack — Newsletter/blog monétisé
  • Medium — Plateforme de publication
  • WordPress.com — WordPress managé
  • Ghost(Pro) — Ghost managé officiel

Sécurité

  • Mises à jour fréquentes : suivre les releases 5.x de Ghost.
  • Membre abonné : séparé du compte admin (jamais fusionner).
  • HTTPS obligatoire : via Traefik (les images en inline en ont besoin).
  • App passwords : pour les intégrations tierces (API, webhooks).

Ressources