Ghost in Docker
CMS
Ghost ist ein Open-Source-CMS das speziell für Blogger und Verleger entwickelt wurde. Es ist modern und einfach. Durch den Einsatz von Markdown zur Strukturierung der Contents können Artikel sehr schnell erstellt werden. Das CMS-UI kann dadurch auch sehr übersichtlich bleiben.
Ghost CMS basiert vor allem auf Ember, Node.js und Express. Es gibt ein offizielles Ghost-Image, auf Grundlage dessen wir sehr einfach einen eigenen Container aufbauen können.
Docker
In der Konfiguration wird ein Nginx-Proxy-Container verwendet, dessen Konfiguration ich im folgenden Artikel beschrieben habe: Reverse-Proxy für Docker-Apps
Die docker-compose.yml:
version: '2'
services:
ghost:
image: ghost
container_name: mydomain-ghost
restart: always
networks:
- nproxy_default
- default
volumes:
-mydomain-data:/var/lib/ghost
environment:
- VIRTUAL_HOST=mydomain
- NODE_ENV=production
volumes:
mydomain-data: {}
networks:
nproxy_default:
external: true
volumes
: Die Verwendung des volume als einfaches Verzeichnis-Mapping im aktuellen Ordner funktionierte nicht. Die Ghost-Dateien waren nicht erreichbar. Erst mit der Verwendung eines benannten Volume war der Zugriff gewährt. Die Ghost-Daten sind dann unter /var/lib/docker/volumes/verzeichnisname_mydomain-data/_data/
erreichbar.
networks
: Die Netzwerkkommunikation wird über das vom Docker-Nginx-Proxy "nproxy" bereitgestellte Netzwerk abgewickelt.