services: app: image: nginx:stable volumes: - ${HTML}:/usr/share/nginx/html:ro - $PWD/nginx.conf:/etc/nginx/nginx.conf:ro networks: - web restart: unless-stopped healthcheck: test: ["CMD", "curl" ,"--fail", "localhost"] interval: 5s timeout: 3s labels: - "traefik.enable=true" - "traefik.http.routers.webroot.entrypoints=websecure" # All HTTP requests are globally redirected to HTTPS - "traefik.http.routers.webroot.rule=Host(`${DOMAIN}`)" - "traefik.http.routers.webroot.tls.certresolver=netcup" - "traefik.http.routers.webroot.tls.options=intermediate@file" - "traefik.http.routers.webroot.middlewares=redirect-to-www" - "traefik.http.middlewares.redirect-to-www.redirectregex.regex=^https?://${DOMAIN}/(.*)" - "traefik.http.middlewares.redirect-to-www.redirectregex.replacement=https://www.${DOMAIN}/$${1}" - "traefik.http.middlewares.redirect-to-www.redirectregex.permanent=true" - "traefik.http.routers.www-secure.entrypoints=websecure" - "traefik.http.routers.www-secure.rule=Host(`www.${DOMAIN}`)" - "traefik.http.routers.www-secure.tls.certresolver=netcup" - "traefik.http.routers.www-secure.tls.options=intermediate@file" - "docker.group=www" networks: web: external: true