version: '3' services: nginx-proxy: image: nginx:alpine container_name: proxy-nginx environment: - DEFAULT_HOST=hello.local ports: - 80:80 - 443:443 volumes: - conf:/etc/nginx/conf.d:ro - vhost:/etc/nginx/vhost.d:ro - html:/usr/share/nginx/html:ro - certs:/etc/nginx/certs:ro dockergen: image: jwilder/docker-gen container_name: proxy-dockergen command: -notify-sighup proxy-nginx -wait 5s:30s -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./templates:/etc/docker-gen/templates:rw # curl -o templates/nginx.tmpl https://raw.githubusercontent.com/jwilder/nginx-proxy/master/nginx.tmpl - conf:/etc/nginx/conf.d - vhost:/etc/nginx/vhost.d:ro - html:/usr/share/nginx/html - certs:/etc/nginx/certs:ro environment: - DEFAULT_HOST=hello.local letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: proxy-letsencrypt volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./templates:/etc/docker-gen/templates:ro - conf:/etc/nginx/conf.d - vhost:/etc/nginx/vhost.d - html:/usr/share/nginx/html - certs:/etc/nginx/certs environment: - DEFAULT_EMAIL=letencrypt@your.personal.tld - NGINX_PROXY_CONTAINER=proxy-nginx - NGINX_DOCKER_GEN_CONTAINER=proxy-dockergen hello: image: nginx:alpine environment: - VIRTUAL_HOST=hello.local volumes: - ./index.html:/usr/share/nginx/html/index.html networks: default: external: name: nginx-proxy volumes: conf: certs: vhost: html: