66 lines
1.9 KiB
YAML
66 lines
1.9 KiB
YAML
version: "2"
|
|
|
|
services:
|
|
nginx:
|
|
restart: always
|
|
image: nginx
|
|
container_name: nginx
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- "/etc/nginx/conf.d"
|
|
- "/etc/nginx/vhost.d"
|
|
- "/usr/share/nginx/html"
|
|
- "./volumes/proxy/certs:/etc/nginx/certs:ro"
|
|
|
|
nginx-gen:
|
|
restart: always
|
|
image: jwilder/docker-gen
|
|
container_name: nginx-gen
|
|
volumes:
|
|
- "/var/run/docker.sock:/tmp/docker.sock:ro"
|
|
- "./volumes/proxy/templates/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro"
|
|
volumes_from:
|
|
- nginx
|
|
entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
|
|
|
|
letsencrypt-nginx-proxy-companion:
|
|
restart: always
|
|
image: jrcs/letsencrypt-nginx-proxy-companion
|
|
container_name: letsencrypt-nginx-proxy-companion
|
|
volumes_from:
|
|
- nginx
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "./volumes/proxy/certs:/etc/nginx/certs:rw"
|
|
environment:
|
|
- NGINX_DOCKER_GEN_CONTAINER=nginx-gen
|
|
|
|
sample-api:
|
|
restart: always
|
|
image: sample-api
|
|
build: ./samples/api
|
|
container_name: sample-api
|
|
environment:
|
|
- VIRTUAL_HOST=sampleapi.example.com
|
|
- VIRTUAL_NETWORK=nginx-proxy
|
|
- VIRTUAL_PORT=3000
|
|
- LETSENCRYPT_HOST=sampleapi.example.com
|
|
- LETSENCRYPT_EMAIL=email@example.com
|
|
|
|
sample-website:
|
|
restart: always
|
|
image: sample-website
|
|
build: ./samples/website
|
|
container_name: sample-website
|
|
volumes:
|
|
- "./volumes/nginx-sample-website/conf.d/:/etc/nginx/conf.d"
|
|
- "./volumes/config/sample-website/config.js:/usr/share/nginx/html/config.js"
|
|
environment:
|
|
- VIRTUAL_HOST=samplewebsite.example.com
|
|
- VIRTUAL_NETWORK=nginx-proxy
|
|
- VIRTUAL_PORT=80
|
|
- LETSENCRYPT_HOST=sample.example.com
|
|
- LETSENCRYPT_EMAIL=email@example.com
|