Alle Systeme betriebsbereit 21 akzeptierte Kryptowährungen · Monero willkommen KYC-freie Richtlinie
ChainVPS

Publishing · kein KYC

Ghost hosten auf einem Offshore-VPS

Ghost ist eine schnelle, moderne Publishing-Plattform, die du in wenigen Minuten selbst auf einem Offshore-VPS hosten kannst – so bleiben deine Texte, Abonnenten und Zahlungen unabhängig von Clouds Dritter.

Was es ist

Ghost ist ein Open-Source-CMS auf Node.js-Basis für Blogs, Newsletter und Mitgliedschaftsseiten – mit nativen E-Mail-Abonnements, kostenpflichtigen Stufen und einem übersichtlichen Markdown-Editor. Es wird als offizielles Docker-Image mit MySQL 8 im Hintergrund ausgeliefert und stellt deine Website über einen eigenen Port hinter einem Reverse-Proxy bereit.

Warum offshore hosten

Wenn du Ghost auf einem No-KYC-VPS betreibst, der mit Krypto bezahlt wird, ist deine Publikation an kein Konto gebunden, das mit deiner Identität verknüpft, deplatformt oder auf Anfrage herausgegeben werden kann. Dank Offshore-Standorten mit hohem Datenschutzniveau und unlimitiertem Datenvolumen behältst du die volle Kontrolle über deine Inhalte, deine Mitgliederliste und deine Stripe-Auszahlungen, ohne dass ein Hosting-Anbieter als Gatekeeper über deine Worte wacht.

Das Deployment

Ein funktionierendes Referenz-Setup

Kopieren Sie dies auf eine neue ChainVPS-Instanz. Ersetzen Sie die Platzhalter und starten Sie sie anschließend.

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.

Firewall

Zu öffnende Ports

PortProtokollZweck
2368TCPGhost-HTTP-App-Port – an 127.0.0.1 gebunden lassen und per Reverse-Proxy bereitstellen, niemals öffentlich freigeben
443TCPHTTPS für die Öffentlichkeit über deinen Reverse-Proxy (Caddy/nginx)
80TCPHTTP für die ACME/Let's-Encrypt-Zertifikatsausstellung und Weiterleitung auf 443
3306TCPMySQL – nur internes Docker-Netzwerk, niemals auf dem Host veröffentlichen

Richtige Dimensionierung

Welchen Plan Sie brauchen

Leicht

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

Persönliches Blog oder kleiner Newsletter. Ghost und MySQL laufen hier problemlos; als Sicherheitsnetz zusätzlich 1 GB Swap einrichten.

Mittel

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

Aktive Publikation mit kostenpflichtigen Mitgliedschaften, bildlastigen Beiträgen und regelmäßigem E-Mail-Versand. Bietet Spielraum für MySQL-Cache und Traffic-Spitzen.

Intensiv

Dedicated (dedizierte Kerne, 16 GB+ RAM, NVMe)

Stark frequentierte Website oder Multi-Blog-Setup mit umfangreichen Medienbibliotheken; MySQL isolieren und Medien über einen Cache ausliefern, um eine gleichbleibende Latenz zu gewährleisten.

Beste Standorte: Für eine Publikation, die unabhängig von Abschaltdruck online bleiben muss, wähle einen Datenschutz-Standort von ChainVPS: Island (IS), Schweiz (CH), Rumänien (RO), Moldau (MD), Niederlande (NL) oder Luxemburg (LU). CH und IS bieten starken Presse- und Meinungsfreiheitsschutz sowie ein striktes Datenschutzrecht; NL und LU ermöglichen mit unlimitierter Bandbreite eine latenzarme Anbindung an europäische Leserschaften – ideal für bild- und newsletterlastige Seiten.

Sichern Sie es ab

Hardening-Checkliste

  • Veröffentliche Port 2368 oder 3306 niemals auf 0.0.0.0. Halte Ghost an 127.0.0.1 gebunden und MySQL ausschließlich im internen Docker-Netzwerk; stelle die Website nur über einen TLS-Reverse-Proxy bereit (Caddy stellt Let's-Encrypt-Zertifikate automatisch aus, alternativ nginx + certbot).
  • Setze die Umgebungsvariable `url` vor dem allerersten Start auf deine echte https://-Domain. Ghost verankert die URL fest in den Ressourcenlinks; eine spätere Änderung erfordert ein Datenbank-Update und das Leeren des Caches.
  • Sichere das Admin-Panel ab: erzwinge bei der Ersteinrichtung ein langes, einzigartiges Passwort und schränke /ghost/ per IP-Allowlist oder Basic-Auth am Proxy ein, wenn du von festen Standorten aus publizierst. Aktiviere die integrierte 2FA für Mitarbeiter-Konten von Ghost.
  • Sichere beide Volumes nach einem festen Zeitplan: erstelle einen MySQL-Dump (`docker compose exec db mysqldump -u ghost -p ghostdb`) und archiviere das Content-Volume (`/var/lib/ghost/content`, das Bilder und Themes enthält). Übertrage verschlüsselte Backups zu ChainVPS-Storage oder auf ein externes System.
  • Fixiere die Image-Tags (ghost:5-alpine, mysql:8.0) und aktualisiere bewusst mit `docker compose pull && docker compose up -d`; teste die Kompatibilität von Themes und Integrationen, bevor du auf eine neue Ghost-Hauptversion wechselst, und lasse den im Plan enthaltenen DDoS-Schutz am Netzwerkrand aktiviert.

Fragen

Hosting Ghost — FAQ

Braucht Ghost MySQL, oder kann ich SQLite verwenden?

Ghost 5 setzt für den Produktivbetrieb offiziell MySQL 8 voraus. Die obige Compose-Datei richtet MySQL 8 automatisch ein. SQLite wird nur für die lokale Entwicklung unterstützt und ist für ein produktives Offshore-Deployment nicht empfehlenswert.

Wie richte ich HTTPS ein?

Ghost selbst liefert nur einfaches HTTP über Port 2368 aus. Setze davor einen Reverse-Proxy – Caddy ist die einfachste Lösung (er stellt Let's-Encrypt-Zertifikate automatisch aus und erneuert sie), alternativ nginx mit certbot. Richte ihn auf 127.0.0.1:2368 und setze Ghosts `url` auf deine https://-Domain.

Kann ich Newsletter ohne Identitätsspuren bei Drittanbietern versenden?

Ghost versendet E-Mails an Mitglieder über einen beliebigen SMTP-Anbieter oder Mailgun. Verwende bei einem auf Datenschutz ausgelegten Setup ein SMTP-Relay, das Krypto-Zahlungen oder eine minimale Registrierung akzeptiert, und konfiguriere es über die mail__-Umgebungsvariablen. Transaktionale E-Mails benötigen weiterhin eine zustellfähige Absenderdomain mit SPF/DKIM.

Wie viel Speicherplatz benötige ich?

Ghosts Kernsystem plus MySQL ist klein (wenige hundert MB). Der eigentliche Speicherbedarf entsteht durch hochgeladene Bilder und Videos im Content-Volume. Ein leichtes Blog läuft problemlos mit 20-40 GB; bildlastige oder mitgliederbasierte Seiten sollten NVMe-Speicher sowie regelmäßige Backups des Content-Volumes einplanen.

Übersteht meine Website Traffic-Spitzen oder DDoS-Angriffe?

ChainVPS-Pläne beinhalten DDoS-Schutz am Netzwerkrand, und die Bandbreite ist unlimitiert, sodass ein viraler Beitrag keine Zusatzgebühren verursacht. Bei reinen Anfrage-Spitzen aktiviere Caching auf Proxy-Ebene für die Offshore-Seitenaufrufe und wechsle bei dauerhaft hoher Gleichzeitigkeit zu einem VPS-Pro- oder Dedicated-Plan.

Bereitstellen Ghost
in den nächsten 60 Sekunden.

Unlimitierte Bandbreite · DDoS inklusive · 21 Kryptowährungen · Kein KYC.