version: "3.8"
services:web:image:nginxcontainer_name:nginxvolumes:-./templates:/etc/nginx/templates-./www/_site:/usr/share/nginx/html/askblaker-./www_nginx.conf:/etc/nginx/conf.d/www_nginx.confenvironment:-NGINX_HOST=${HOSTNAME}-NGINX_PORT=80labels:-traefik.enable=true-traefik.http.routers.nginx.rule=Host(`${HOSTNAME}`)-traefik.http.routers.nginx.service=nginx-service-traefik.http.routers.nginx.entrypoints=websecure-traefik.http.routers.nginx.tls.certresolver=basic-traefik.http.routers.nginx.tls=true-traefik.http.routers.nginx.tls.domains[0].main=${HOSTNAME}-traefik.http.routers.nginx.tls.domains[0].sans=*.${HOSTNAME}-traefik.http.services.nginx-service.loadbalancer.server.port=80traefik:image:"traefik:v2.2"container_name:traefikcommand:---log.level=DEBUG---entrypoints.web.address=:80---entrypoints.websecure.address=:443---providers.docker=true---providers.docker.exposedbydefault=false---certificatesresolvers.basic.acme.email=${LE_EMAIL}---certificatesresolvers.basic.acme.storage=/letsencrypt/acme.json---certificatesresolvers.basic.acme.dnschallenge.provider=digitalocean---apienvironment:-DO_AUTH_TOKEN=${DO_AUTH_TOKEN}ports:-"80:80"-"443:443"labels:traefik.enable:true# Global redirection: http to httpstraefik.http.routers.http-catchall.rule:HostRegexp(`{host:(www\.)?.+}`)traefik.http.routers.http-catchall.entrypoints:webtraefik.http.routers.http-catchall.middlewares:wwwtohttps# Global redirection: https (www.) to httpstraefik.http.routers.wwwsecure-catchall.rule:HostRegexp(`{host:(www\.).+}`)traefik.http.routers.wwwsecure-catchall.entrypoints:websecuretraefik.http.routers.wwwsecure-catchall.tls:truetraefik.http.routers.wwwsecure-catchall.middlewares:wwwtohttps# middleware: http(s)://(www.) to https://traefik.http.middlewares.wwwtohttps.redirectregex.regex:^https?://(?:www\.)?(.+)traefik.http.middlewares.wwwtohttps.redirectregex.replacement:https://$${1}traefik.http.middlewares.wwwtohttps.redirectregex.permanent:truevolumes:-cert-vol:/letsencrypt-/var/run/docker.sock:/var/run/docker.sock:rovolumes:cert-vol: