All of the database data volume mapping have been changed from the host's `/var/lib` directory to locally alongside the laradock installation. This should hopefully prevent issues where data disappears after containers are restarted or data on the host machine is overwritten by accident (scary!) Additionally this should make data easier to backup between installations - especially on Windows where `/var` does not exist and is created transparently by Docker Machine/Windows beta. This change will most likely cause data to disappear from existing installations, however it may reappear if moved to it's new home. References #137, #138
165 lines
3.7 KiB
YAML
165 lines
3.7 KiB
YAML
version: '2'
|
|
|
|
services:
|
|
|
|
### PHP-FPM Container #######################################
|
|
|
|
php-fpm:
|
|
build:
|
|
context: ./php-fpm
|
|
dockerfile: Dockerfile-70
|
|
volumes_from:
|
|
- application
|
|
expose:
|
|
- "9000"
|
|
links:
|
|
- workspace
|
|
|
|
### Laravel Application Code Container ######################
|
|
|
|
application:
|
|
build: ./application
|
|
volumes:
|
|
- ../:/var/www/laravel
|
|
|
|
### Databases Data Container ################################
|
|
|
|
data:
|
|
build: ./data
|
|
volumes:
|
|
- ./mysql:/var/lib/mysql
|
|
- ./postgres:/var/lib/postgres
|
|
- ./mariadb:/var/lib/mariadb
|
|
- ./memcached:/var/lib/memcached
|
|
- ./redis:/data
|
|
- ./neo4j:/var/lib/neo4j/data
|
|
- ./mongo:/data/db
|
|
|
|
### Nginx Server Container ##################################
|
|
|
|
nginx:
|
|
build: ./nginx
|
|
volumes_from:
|
|
- application
|
|
volumes:
|
|
- ./logs/nginx/:/var/log/nginx
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
links:
|
|
- php-fpm
|
|
|
|
### MySQL Container #########################################
|
|
|
|
mysql:
|
|
build: ./mysql
|
|
volumes_from:
|
|
- 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:
|
|
- data
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
POSTGRES_DB: homestead
|
|
POSTGRES_USER: homestead
|
|
POSTGRES_PASSWORD: secret
|
|
|
|
### MariaDB Container #######################################
|
|
|
|
mariadb:
|
|
build: ./mariadb
|
|
volumes_from:
|
|
- 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:
|
|
- data
|
|
|
|
### MongoDB Container #######################################
|
|
|
|
mongo:
|
|
build: ./mongo
|
|
ports:
|
|
- "27017:27017"
|
|
volumes_from:
|
|
- data
|
|
|
|
### Redis Container #########################################
|
|
|
|
redis:
|
|
build: ./redis
|
|
volumes_from:
|
|
- data
|
|
ports:
|
|
- "6379:6379"
|
|
|
|
### Memcached Container #####################################
|
|
|
|
memcached:
|
|
build: ./memcached
|
|
volumes_from:
|
|
- 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=${INSTALL_PRESTISSIMO}
|
|
volumes_from:
|
|
- application
|
|
tty: true
|
|
|
|
### Add more Containers below ###############################
|