Skip to content

Instantly share code, notes, and snippets.

@AntonTyutin
Last active March 20, 2018 07:48
Show Gist options
  • Save AntonTyutin/a4109288be52f6871b51637976c2cc44 to your computer and use it in GitHub Desktop.
Save AntonTyutin/a4109288be52f6871b51637976c2cc44 to your computer and use it in GitHub Desktop.
WebDev: Common services running under Docker
version: "2"
services:
# implementing hostname-based routing of HTTP queries coming thru localhost:80
# see https://hub.docker.com/r/jwilder/nginx-proxy/
http-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/tmp/docker.sock:ro"
- "./volumes/conf.d:/etc/nginx/conf.d"
- "./volumes/vhost.d:/etc/nginx/vhost.d"
- "./volumes/certs:/etc/nginx/certs:ro"
- "/usr/share/nginx/html"
networks:
frontend: ~
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
volumes_from:
- http-proxy
# MySQL-like database
mysql:
image: mariadb
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
volumes:
- "mysql:/var/lib/mysql"
networks:
backend:
aliases:
- mysql
- db
# SMTP stub with Web GUI
mailcatcher:
image: schickling/mailcatcher
environment:
- VIRTUAL_HOST=mailcatcher
- VIRTUAL_PORT=1080
networks:
frontend: ~
backend:
aliases:
- mailcatcher
# Database administration Web GUI
adminer:
image: adminer:latest
environment:
- VIRTUAL_HOST=adminer
- VIRTUAL_PORT=8080
- ADMINER_DESIGN=nette
networks:
frontend: ~
backend: ~
# Headless WebDriver-server for automated testing
selenium:
image: selenium/standalone-chrome:latest
networks:
backend:
aliases:
- selenium
networks:
frontend: ~ # for "looking out" services
backend: ~ # for internal purposes
volumes:
mysql: ~
composer: ~
npm: ~
yarn: ~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment