laradock/docker-compose.yml

195 lines
4.5 KiB
YAML

version: '2'
services:
### Nginx Server Container ##################################
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM=php-fpm
volumes_from:
- volumes_source
volumes:
- ./logs/nginx/:/var/log/nginx
ports:
- "80:80"
- "443:443"
links:
- php-fpm
### PHP-FPM Container #######################################
php-fpm:
build:
context: ./php-fpm
dockerfile: Dockerfile-70
volumes_from:
- volumes_source
expose:
- "9000"
links:
- workspace
### HHVM Container ##########################################
hhvm:
build: ./hhvm
volumes_from:
- volumes_source
expose:
- "9000"
links:
- workspace
### MySQL Container #########################################
mysql:
build: ./mysql
volumes_from:
- volumes_data
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: homestead
MYSQL_USER: homestead
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: root
### PostgreSQL Container ####################################
postgres:
build: ./postgres
volumes_from:
- volumes_data
ports:
- "5432:5432"
environment:
POSTGRES_DB: homestead
POSTGRES_USER: homestead
POSTGRES_PASSWORD: secret
### MariaDB Container #######################################
mariadb:
build: ./mariadb
volumes_from:
- volumes_data
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: homestead
MYSQL_USER: homestead
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: root
### Neo4j Container #########################################
neo4j:
build: ./neo4j
ports:
- "7474:7474"
- "1337:1337"
environment:
- NEO4J_AUTH=homestead:secret
volumes_from:
- volumes_data
### MongoDB Container #######################################
mongo:
build: ./mongo
ports:
- "27017:27017"
volumes_from:
- volumes_data
### Redis Container #########################################
redis:
build: ./redis
volumes_from:
- volumes_data
ports:
- "6379:6379"
### Memcached Container #####################################
memcached:
build: ./memcached
volumes_from:
- volumes_data
ports:
- "11211:11211"
links:
- php-fpm
### Beanstalkd Container ####################################
beanstalkd:
build: ./beanstalkd
ports:
- "11300:11300"
privileged: true
links:
- php-fpm
### Beanstalkd Console Container ############################
beanstalkd-console:
build: ./beanstalkd-console
ports:
- "2080:2080"
links:
- beanstalkd
### Workspace Utilities Container ###########################
workspace:
build:
context: ./workspace
args:
- INSTALL_PRESTISSIMO=false
volumes_from:
- volumes_source
tty: true
### Laravel Application Code Container ######################
volumes_source:
build: ./volumes/application
volumes:
- ../:/var/www/laravel
### Databases Data Container ################################
volumes_data:
build: ./volumes/data
volumes:
- /var/lib/mysql:/var/lib/mysql
- /var/lib/postgres:/var/lib/postgres
- /var/lib/mariadb:/var/lib/mariadb
- /var/lib/memcached:/var/lib/memcached
- /var/lib/redis:/data
- /var/lib/neo4j:/var/lib/neo4j/data
- /var/lib/mongo:/data/db
### Caddy Server Container ##################################
# Edit the Caddyfile if needed (./caddy/Caddyfile)
caddy:
build: ./caddy
volumes_from:
- volumes_source
ports:
- "80:80"
- "443:443"
- "2015:2015"
volumes:
- ./caddy/Caddyfile:/etc/Caddyfile
links:
- php-fpm
### Add more Containers below ###############################