Skip to content

Instantly share code, notes, and snippets.

@Bonemind
Created March 9, 2017 10:56
Show Gist options
  • Select an option

  • Save Bonemind/444a176420a12e649a92e51d01ede417 to your computer and use it in GitHub Desktop.

Select an option

Save Bonemind/444a176420a12e649a92e51d01ede417 to your computer and use it in GitHub Desktop.
docker-compose letsencrypt-nginx-proxy-companion with example site
# Proxy docker-compose.yml
version: "2"
services:
nginx:
image: nginx
container_name: nginx
ports:
- "80:80"
- "443:443"
volumes:
- "<hostpath>:/etc/nginx/conf.d"
- "<hostpath>:/etc/nginx/vhost.d"
- "<hostpath>:/usr/share/nginx/html"
- "<hostpath>:/etc/nginx/certs:ro"
networks:
- nginx-proxy
nginx-gen:
image: jwilder/docker-gen
container_name: nginx-gen
volumes:
- "/var/run/docker.sock:/tmp/docker.sock:ro"
- "<hostpath>:/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
networks:
- nginx-proxy
letsencrypt-nginx-proxy-companion:
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"
- "<hostpath>:/etc/nginx/certs:rw"
environment:
- NGINX_DOCKER_GEN_CONTAINER=nginx-gen
networks:
- nginx-proxy
networks:
nginx-proxy:
external:
name: nginx-proxy
# Example other docker-compose.yml
version: '2'
services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- MARIADB_ROOT_PASSWORD=1234
- MARIADB_DATABASE=wordpress
volumes:
- ./mariadb:/var/lib/mysql
networks:
- some-network
wordpress:
depends_on:
- mariadb
image: wordpress:latest
restart: always
volumes:
- ./wp-content/:/var/www/html/
links:
- mariadb:mysql
environment:
- MYSQL_ROOT_PASSWORD=1234
- VIRTUAL_HOST=some.example.com
- VIRTUAL_PORT=80
- VIRTUAL_NETWORK=nginx-proxy
- LETSENCRYPT_HOST=some.example.com
- [email protected]
expose:
- "80"
networks:
- nginx-proxy
- some-network
networks:
nginx-proxy:
external:
name: nginx-proxy
some-network:
driver: bridge
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment