Tous les systèmes opérationnels 21 cryptomonnaies acceptées · Monero bienvenu Politique sans KYC
ChainVPS

Publication · sans KYC

Hébergez Ghost sur un VPS offshore

Ghost est une plateforme de publication rapide et moderne que vous pouvez auto-héberger en quelques minutes sur un VPS offshore, en gardant vos écrits, vos abonnés et vos paiements à l'écart des clouds tiers.

Ce que c'est

Ghost est un CMS open-source en Node.js conçu pour les blogs, les newsletters et les sites à adhésion, avec abonnements email natifs, paliers payants et un éditeur Markdown épuré. Il est distribué sous forme d'image Docker officielle adossée à MySQL 8, et sert votre site sur son propre port derrière un reverse proxy.

Pourquoi l'héberger en offshore

Faire tourner Ghost sur un VPS no-KYC payable en crypto signifie que votre publication n'est liée à aucun compte pouvant être identifié, déplateformé ou communiqué sur demande. Avec des localisations offshore axées confidentialité et une bande passante illimitée, vous gardez le contrôle total de votre contenu, de votre liste de membres et de vos versements Stripe, sans qu'un hébergeur ne fasse la police sur vos mots.

Le déploiement

Une configuration de référence fonctionnelle

Copiez ceci sur une nouvelle instance ChainVPS. Remplacez les paramètres, puis lancez-la.

docker-compose.yml
services:
  ghost:
    image: ghost:5-alpine
    restart: always
    ports:
      # Bind to localhost only; terminate TLS in a reverse proxy (nginx/Caddy)
      - "127.0.0.1:2368:2368"
    environment:
      url: https://blog.example.com
      NODE_ENV: production
      database__client: mysql
      database__connection__host: db
      database__connection__port: 3306
      database__connection__user: ghost
      database__connection__password: CHANGE_ME_DB_PASSWORD
      database__connection__database: ghostdb
      # Optional outbound SMTP for member/newsletter email:
      # mail__transport: SMTP
      # mail__options__host: smtp.example.com
      # mail__options__port: 587
      # mail__options__auth__user: [email protected]
      # mail__options__auth__pass: CHANGE_ME_SMTP
    volumes:
      - ghost-content:/var/lib/ghost/content
    depends_on:
      - db

  db:
    image: mysql:8.0
    restart: always
    command: --default-authentication-plugin=caching_sha2_password
    environment:
      MYSQL_ROOT_PASSWORD: CHANGE_ME_ROOT_PASSWORD
      MYSQL_DATABASE: ghostdb
      MYSQL_USER: ghost
      MYSQL_PASSWORD: CHANGE_ME_DB_PASSWORD
    volumes:
      - ghost-db:/var/lib/mysql

volumes:
  ghost-content:
  ghost-db:

# Deploy:
#   apt-get update && apt-get install -y docker.io docker-compose-v2
#   docker compose up -d
# Then point a reverse proxy (Caddy/nginx) at 127.0.0.1:2368 to add HTTPS,
# and set `url:` to your real https:// domain before first boot.

Pare-feu

Ports à ouvrir

PortProtocoleObjectif
2368TCPPort HTTP de l'application Ghost - à garder lié à 127.0.0.1 et à faire passer par un reverse proxy, ne jamais exposer publiquement
443TCPHTTPS vers le public via votre reverse proxy (Caddy/nginx)
80TCPHTTP pour l'émission de certificats ACME/Let's Encrypt et la redirection vers le 443
3306TCPMySQL - réseau Docker interne uniquement, ne jamais publier sur l'hôte

Dimensionnement optimal

De quel forfait vous avez besoin

Léger

VPS Nano/Small (1-2 vCPU, 2 GB RAM)

Blog personnel ou petite newsletter. Ghost + MySQL tiennent confortablement ; ajoutez 1 GB de swap par sécurité.

Moyen

VPS Pro (2-4 vCPU, 4-8 GB RAM)

Publication active avec adhésions payantes, articles riches en images et envois d'emails réguliers. Marge de manœuvre pour le cache MySQL et les pics de trafic.

Intensif

Dédié (cœurs dédiés, 16 GB+ RAM, NVMe)

Site à fort trafic ou configuration multi-blogs avec de grandes bibliothèques média ; isolez MySQL et servez les médias via un cache pour une latence homogène.

Meilleurs emplacements : Pour une publication qui doit rester en ligne quelle que soit la pression de retrait, choisissez une localisation ChainVPS orientée confidentialité : Islande (IS), Suisse (CH), Roumanie (RO), Moldavie (MD), Pays-Bas (NL) ou Luxembourg (LU). La CH et l'IS offrent une solide protection de la presse, de la liberté d'expression et du droit à la vie privée ; les NL et le LU offrent une portée à faible latence vers les lectorats européens, avec une bande passante illimitée pour les sites riches en images et en newsletters.

Verrouillez-le

Liste de vérification du durcissement

  • Ne publiez jamais les ports 2368 ou 3306 sur 0.0.0.0. Gardez Ghost lié à 127.0.0.1 et MySQL uniquement sur le réseau Docker interne ; n'exposez le site que via un reverse proxy TLS (Caddy émet automatiquement des certificats Let's Encrypt, ou utilisez nginx + certbot).
  • Définissez la variable d'environnement `url` sur votre vrai domaine https:// avant le tout premier démarrage. Ghost intègre cette URL dans les liens de ressources, et la modifier plus tard nécessite une mise à jour de la base de données et un vidage de cache.
  • Verrouillez le panneau d'administration : imposez un mot de passe long et unique dès la configuration initiale, et restreignez /ghost/ par liste blanche d'IP ou par authentification basique au niveau du proxy si vous publiez depuis des emplacements fixes. Activez la 2FA intégrée pour le personnel de Ghost.
  • Sauvegardez les deux volumes selon un planning régulier : exportez MySQL (`docker compose exec db mysqldump -u ghost -p ghostdb`) et archivez le volume de contenu (`/var/lib/ghost/content`, qui contient images et thèmes). Envoyez des sauvegardes chiffrées vers le stockage ChainVPS ou hors site.
  • Figez les tags d'image (ghost:5-alpine, mysql:8.0) et mettez à jour de façon délibérée avec `docker compose pull && docker compose up -d` ; testez la compatibilité des thèmes/intégrations avant de passer à une version majeure de Ghost, et gardez activée en périphérie la protection anti-DDoS incluse dans le plan.

Questions

Hébergement Ghost — FAQ

Ghost a-t-il besoin de MySQL, ou puis-je utiliser SQLite ?

Ghost 5 nécessite officiellement MySQL 8 en production. Le fichier compose ci-dessus configure automatiquement MySQL 8. SQLite n'est pris en charge que pour le développement local et n'est pas recommandé pour un déploiement offshore en production.

Comment ajouter HTTPS ?

Ghost sert lui-même du HTTP simple sur le port 2368. Placez un reverse proxy devant - Caddy est le plus simple (il émet et renouvelle automatiquement les certificats Let's Encrypt), ou utilisez nginx avec certbot. Pointez-le vers 127.0.0.1:2368 et définissez le `url` de Ghost sur votre domaine https://.

Puis-je envoyer des newsletters sans laisser de trace d'identité chez un tiers ?

Ghost envoie les emails aux membres via n'importe quel fournisseur SMTP ou Mailgun. Sur une configuration axée confidentialité, utilisez un relais SMTP qui accepte le paiement en crypto ou une inscription minimale, et configurez-le via les variables d'environnement mail__. Les emails transactionnels nécessitent tout de même un domaine d'envoi délivrable avec SPF/DKIM.

De combien d'espace disque ai-je besoin ?

Le cœur de Ghost plus MySQL est léger (quelques centaines de MB). La véritable croissance vient des images et vidéos téléversées dans le volume de contenu. Un blog léger tourne très bien sur 20-40 GB ; les sites riches en images ou à adhésion devraient prévoir un stockage NVMe et des sauvegardes régulières du volume de contenu.

Mon site résistera-t-il aux pics de trafic ou aux attaques DDoS ?

Les plans ChainVPS incluent une protection anti-DDoS en périphérie du réseau, et la bande passante est illimitée, si bien qu'un article viral ne génèrera pas de frais de dépassement. Pour les pics bruts de requêtes, activez la mise en cache au niveau du proxy des pages vues et passez à un plan VPS Pro ou dédié si vous constatez une concurrence élevée en continu.

Déployer Ghost
dans les 60 prochaines secondes.

Bande passante illimitée · DDoS inclus · 21 cryptomonnaies · sans KYC.