Files
2026-06-09 18:40:21 +02:00

110 lines
3.9 KiB
Markdown

---
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](https://ghost.org) |
| **GitHub** | [TryGhost/Ghost](https://github.com/TryGhost/Gest) |
| **License** | MIT |
| **Langage** | Node.js |
| **Étoiles GitHub** | 48k ⭐ |
| **Catégorie** | [[cat-blog|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é)
```yaml
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
- [Documentation officielle](https://ghost.org/docs/)
- [Thèmes Ghost](https://ghost.org/themes/)
- [Ghost sur GitHub](https://github.com/TryGhost/Ghost)
## Pages Liées
- [[cat-blog]] — Catégorie Blog
- [[app-wordpress]] — Concurrent historique
- [[recettes-docker-compose]] — Templates Docker