version: '3.9' services: nginx: image: nginx restart: unless-stopped command: nginx -c /config/nginx.conf volumes: - /home/nick/configs/routing/nginx:/config - /mnt/storage:/static:ro ports: - 80:80 - 443:443 extra_hosts: - host.docker.internal:host-gateway certbot: image: certbot/dns-cloudflare restart: unless-stopped entrypoint: "/bin/sh -c \"trap exit TERM; while :; do certbot renew --post-hook 'chown -R 1000:1000 /etc/letsencrypt'; sleep 12h & wait $${!}; done;\"" volumes: - /home/nick/configs/routing/nginx/certs/letsencrypt:/etc/letsencrypt cloudflare-argo-tunnel: image: cloudflare/cloudflared restart: unless-stopped volumes: - /home/nick/configs/routing/cloudflared:/etc/cloudflared command: tunnel run --url https://nginx:443 --no-tls-verify jupiter user: 1000:1000 cloudflare-ddns: image: oznu/cloudflare-ddns restart: unless-stopped environment: API_KEY: ${CF_API_KEY} ZONE: ${DOMAIN} SUBDOMAIN: ddns PROXIED: false network_mode: bridge whoami: image: containous/whoami restart: unless-stopped networks: default: name: routing