services: www: image: nginx:latest container_name: nginx_www restart: unless-stopped volumes: - nginx_www-html:/usr/share/nginx/html:ro - nginx_www-conf:/etc/nginx/conf.d:ro - nginx_www-backups:/srv/backups - /etc/localtime:/etc/localtime networks: - traefik-network labels: - "traefik.enable=true" - traefik.docker.network=traefik-network - traefik.constraint-label=traefik-network - traefik.http.services.nginx-www.loadbalancer.server.port=80 - traefik.http.routers.nginx-www-https.tls.certresolver=mychallenge - traefik.http.routers.nginx-www-http.entrypoints=web - traefik.http.routers.nginx-www-https.entrypoints=websecure - traefik.http.routers.nginx-www-http.middlewares=http-to-https - traefik.http.routers.nginx-www-http.rule=Host(`www.odamus.com`) - traefik.http.routers.nginx-www-https.rule=Host(`www.odamus.com`) - traefik.http.routers.nginx-odamus-http.rule=Host(`odamus.com`) - traefik.http.routers.nginx-odamus-http.entrypoints=web - traefik.http.routers.nginx-odamus-http.service=nginx-www - traefik.http.routers.nginx-odamus-http.middlewares=web-to-www - traefik.http.routers.nginx-odamus-https.rule=Host(`odamus.com`) - traefik.http.routers.nginx-odamus-https.entrypoints=websecure - traefik.http.routers.nginx-odamus-https.service=nginx-www - traefik.http.routers.nginx-odamus-https.middlewares=websecure-to-www - "traefik.http.routers.nginx-odamus-https.tls.certresolver=mychallenge" - "traefik.http.middlewares.web-to-www.redirectregex.regex=^http://(?:www.)?odamus.com/(.*)" - "traefik.http.middlewares.web-to-www.redirectregex.replacement=http://www.odamus.com/$${1}" - "traefik.http.middlewares.websecure-to-www.redirectregex.regex=^https://(?:www.)?odamus.com/(.*)" - "traefik.http.middlewares.websecure-to-www.redirectregex.replacement=https://www.odamus.com/$${1}" volumes: nginx_www-html: external: true nginx_www-conf: external: true nginx_www-backups: external: true networks: traefik-network: external: true