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

3.9 KiB


title: Ghost created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, blog, app-marathon-batch-a] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Blog&app=ghost]

✍️ Ghost

Plateforme de publication moderne — l'alternative moderne à WordPress, écrite en Node.js, avec un éditeur Markdown, un système de membres/abonnements natif, et un design épuré.

📋 Informations Générales

Champ Valeur
Site web ghost.org
GitHub TryGhost/Ghost
License MIT
Langage Node.js
Étoiles GitHub 48k
Catégorie [[cat-blog

📝 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
      - mail__options__auth__user=ghost@example.com
      - 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

Pages Liées