frappe_docker/docker-compose.yml
jesen-surjadi 6f8473f2b3
update docker-compose.yml
* update compose version to 2.1 for named volume support
* pin mariadb and redis image version to avoid update surprise
* create named volumes for portability and backup purpose
* create new service 'shared-conf' to have all shared configuration and use named volume across all service
* add service dependency to 'shared-conf'
* replace local directory volume with docker named volume
* remove excessive whitespaces
2019-01-25 05:47:04 -06:00

101 lines
2.3 KiB
YAML

version: '2.1'
services:
shared-conf:
volumes:
- redis-conf:/redis_conf
- frappe-docker-conf:/frappe_docker_conf
- mariadb-conf:/mariadb_conf
build:
context: .
dockerfile: Dockerfile.shared_conf
command: ["sh", "-c", "tail -f /dev/null"]
container_name: shared-conf
mariadb:
image: mariadb:10.3.12
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-123}
- MYSQL_USER=root
volumes:
- mariadb-conf:/etc/mysql/conf.d
- mariadb-data:/var/lib/mysql
depends_on:
- shared-conf
ports:
- "3307:3306" #mariadb-port
container_name: mariadb
redis-cache:
image: redis:5.0.3-alpine3.8
volumes:
- redis-conf:/etc/conf.d
- redis-cache-data:/data
depends_on:
- shared-conf
command: ["redis-server","/etc/conf.d/redis_cache.conf"]
container_name: redis-cache
redis-queue:
image: redis:5.0.3-alpine3.8
volumes:
- redis-conf:/etc/conf.d
- redis-queue-data:/data
depends_on:
- shared-conf
command: ["redis-server","/etc/conf.d/redis_queue.conf"]
container_name: redis-queue
redis-socketio:
image: redis:5.0.3-alpine3.8
volumes:
- redis-conf:/etc/conf.d
- redis-socketio-data:/data
depends_on:
- shared-conf
command: ["redis-server","/etc/conf.d/redis_socketio.conf"]
container_name: redis-socketio
frappe:
volumes:
- frappe-bench:/home/frappe/frappe-bench
- redis-conf:/home/frappe/frappe-bench/config
- frappe-docker-conf:/home/frappe/frappe-docker-conf
build: .
ports:
- "8000:8000" #webserver_port
- "9000:9000" #socketio_port
- "6787:6787" #file_watcher_port
stdin_open: true
tty: true
links:
- redis-cache
- redis-queue
- redis-socketio
- mariadb
depends_on:
- shared-conf
- mariadb
- redis-cache
- redis-queue
- redis-socketio
container_name: frappe
volumes:
mariadb-conf:
name: mariadb-conf
mariadb-data:
name: mariadb-data
redis-conf:
name: redis-conf
redis-cache-data:
name: redis-cache-data
redis-queue-data:
name: redis-queue-data
redis-socketio-data:
name: redis-socketio-data
frappe-bench:
name: frappe-bench
frappe-docker-conf:
name: frappe-docker-conf