Skip to content

Instantly share code, notes, and snippets.

@DavidPeterHoward
Created April 19, 2019 05:44
Show Gist options
  • Save DavidPeterHoward/77d8317ea4c06a8353da917c6fa1ff68 to your computer and use it in GitHub Desktop.
Save DavidPeterHoward/77d8317ea4c06a8353da917c6fa1ff68 to your computer and use it in GitHub Desktop.
version: '2'
services:
#######################################
# PHP application Docker container
#######################################
app:
build:
context: .
dockerfile: Dockerfile.development
links:
- mail
- mysql
#- postgres
#- solr
#- elasticsearch
#- redis
#- memcached
#- ftp
ports:
- "8000:80"
- "8443:443"
- "10022:22"
volumes:
- ./app/:/app/
- ./:/docker/
# cap and privileged needed for slowlog
cap_add:
- SYS_PTRACE
privileged: true
env_file:
- etc/environment.yml
- etc/environment.development.yml
environment:
- VIRTUAL_HOST=.app.boilerplate.docker
- VIRTUAL_PORT=80
- POSTFIX_RELAYHOST=[mail]:1025
#######################################
# MySQL server
#######################################
mysql:
build:
context: docker/mysql/
#dockerfile: MySQL-5.5.Dockerfile
dockerfile: MySQL-5.6.Dockerfile
#dockerfile: MySQL-5.7.Dockerfile
#dockerfile: MariaDB-5.5.Dockerfile
#dockerfile: MariaDB-10.Dockerfile
#dockerfile: Percona-5.5.Dockerfile
#dockerfile: Percona-5.6.Dockerfile
#dockerfile: Percona-5.7.Dockerfile
ports:
- 13306:3306
volumes:
- mysql:/var/lib/mysql
env_file:
- etc/environment.yml
- etc/environment.development.yml
#######################################
# PostgreSQL server
#######################################
#postgres:
# build:
# context: docker/postgres/
# dockerfile: Postgres-9.4.Dockerfile
# dockerfile: Postgres-9.5.Dockerfile
# ports:
# - 15432:5432
# volumes:
# - postgres:/var/lib/postgresql/data
# env_file:
# - etc/environment.yml
# - etc/environment.development.yml
#######################################
# Solr server
#######################################
#solr:
# build:
# context: docker/solr/
# volumes:
# - solr:/opt/solr/server/solr/data
# env_file:
# - etc/environment.yml
# - etc/environment.development.yml
# environment:
# - SOLR_STORAGE=/opt/solr/server/solr/data
# - VIRTUAL_HOST=solr.boilerplate.docker
# - VIRTUAL_PORT=8983
#######################################
# Tika server
#######################################
#tika:
# build:
# context: docker/tika/
# ports:
# - 19998:9998
#######################################
# Elasticsearch
#######################################
#elasticsearch:
# build:
# context: docker/elasticsearch/
# ports:
# - 19200:9200
# - 19300:9300
# volumes:
# - elasticsearch:/usr/share/elasticsearch/data
# env_file:
# - etc/environment.yml
# - etc/environment.development.yml
# environment:
# - VIRTUAL_HOST=elasticsearch.boilerplate.docker
# - VIRTUAL_PORT=9200
#######################################
# Redis
#######################################
#redis:
# build:
# context: docker/redis/
# volumes:
# - redis:/data
# env_file:
# - etc/environment.yml
# - etc/environment.development.yml
#######################################
# Memcached
#######################################
#memcached:
# build:
# context: docker/memcached/
# env_file:
# - etc/environment.yml
# - etc/environment.development.yml
#######################################
# Mail
#######################################
# Mailhog
mail:
image: mailhog/mailhog
# ports:
# - 8025:8025
environment:
- VIRTUAL_HOST=mail.boilerplate.docker
- VIRTUAL_PORT=8025
# Mailcatcher
#mail:
# image: schickling/mailcatcher
# environment:
# - VIRTUAL_HOST=mail.boilerplate.docker
# - VIRTUAL_PORT=1080
# Mailsandbox
#mail:
# image: webdevops/mail-sandbox
# environment:
# - VIRTUAL_HOST=mail.boilerplate.docker
# - VIRTUAL_PORT=80
#######################################
# FTP (vsftpd)
#######################################
#ftp:
# build:
# context: docker/vsftpd/
# volumes:
# - ./:/application/
# env_file:
# - etc/environment.yml
# - etc/environment.development.yml
#######################################
# phpMyAdmin
#######################################
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mysql
environment:
- PMA_HOSTS=mysql
- VIRTUAL_HOST=pma.boilerplate.docker
- VIRTUAL_PORT=80
volumes:
- phpmyadmin:/sessions
ports:
- "8001:80"
volumes:
mysql:
postgres:
solr:
elasticsearch:
redis:
phpmyadmin:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment