# Provides reverse HTTP proxy service, including TLS termination and automated # certificate management via Lets Encrypt. To create a Docker container that # uses this service: # # - Define environment variables: # - VIRTUAL_HOST= # - LETSENCRYPT_HOST= # - VIRTUAL_PORT= (only necessary if not 80) # # - EXPOSE the relevant port in your Dockerfile. # # - Join the "nginx-proxy-network" network. version: "3.7" services: # https://github.com/nginx-proxy/nginx-proxy nginx-proxy: image: "nginxproxy/nginx-proxy" restart: "always" volumes: - "certs:/etc/nginx/certs" - "vhost:/etc/nginx/vhost.d" - "html:/usr/share/nginx/html" - "/var/run/docker.sock:/tmp/docker.sock:ro" networks: - "nginx-proxy-network" ports: - "80:80" - "443:443" labels: - "com.github.nginx-proxy.nginx" # https://github.com/nginx-proxy/acme-companion acme-companion: image: "nginxproxy/acme-companion" restart: "always" volumes: - "acme:/etc/acme.sh" - "certs:/etc/nginx/certs" - "vhost:/etc/nginx/vhost.d" - "html:/usr/share/nginx/html" - "/var/run/docker.sock:/var/run/docker.sock:ro" networks: - "nginx-proxy-network" depends_on: - "nginx-proxy" volumes: acme: certs: vhost: html: networks: nginx-proxy-network: name: "nginx-proxy-network"