Listing 1: Caddyfile zur Webserver-Konfiguration { # E-Mail-Adresse für LetsEncrypt email foobar@example.com # LetsEncrypt-Staging-Umgebung zum Testen. # Funktioniert alles, bitte diese Zeile entfernen oder auskommentieren. acme_ca https://acme-staging-v02.api. letsencrypt.org/directory } # Einfacher Reverse-Proxy für Ghost. example.com { reverse_proxy ghost:2368 } # Redirect für www-Anfragen auf die Domäne. www.example.com { redir https://example.com{uri} } Listing 2: Datei "compose.yml" ### Das Tool podman-compose verwendet die Datei compose.yml für das Deployment der einzelnen Container. --- version: '3.8' services: # Caddy dient als Webfrontend-System und zum Bezug eines Zertifikates mittels Lets Encrypt. caddy: image: caddy:latest container_name: caddy depends_on: - ghost ports: - caddy_data:/data - caddy_config:/config # Ghost ist die eigentliche Blogging- Plattform ghost: image: docker.io/library/ghost:5 container_name: ghost restart: always depends_on: - ghostdb environment: url: https://example.com database__client: mysql database__connection__host: ghostdb database__connection__user: ghost database__connection__password: PassW0rd456 database__connection__database: ghostdb volumes: - ghost:/var/lib/ghost/content # MariaDB stellt die Backend-Datenbank für Ghost zur Verfügung ghostdb: image: docker.io/library/mariadb:11 container_name: ghostdb restart: always environment: MYSQL_ROOT_PASSWORD: PassW0rd123 MYSQL_USER: ghost MYSQL_PASSWORD: PassW0rd456 MYSQL_DATABASE: ghostdb volumes: - ghostdb:/var/lib/mysql volumes: caddy_config: caddy_data: ghost: ghostdb: