version: '3.5'
volumes:
mysql:
driver: ${VOLUMES_DRIVER}
redis:
driver: ${VOLUMES_DRIVER}
services:
php-cli:
build:
context: ./php-cli
args:
- CLI_VERSION=${CLI_VERSION}
- CHANGE_SOURCE=${CHANGE_SOURCE}
environment:
- TZ=${TIMEZONE}
volumes:
- ${CODE_PATH_HOST}:/var/www/
depends_on:
- mysql
- redis
tty: true
restart: on-failure
php-fpm:
build:
context: ./php-fpm
args:
- FPM_VERSION=${FPM_VERSION}
- CHANGE_SOURCE=${CHANGE_SOURCE}
environment:
- TZ=${TIMEZONE}
volumes:
- ${CODE_PATH_HOST}:/var/www
expose:
- "9000"
depends_on:
- mysql
- redis
restart: on-failure
mysql:
build:
context: ./mysql
args:
- MYSQL_VERSION=${MYSQL_VERSION}
volumes:
- ${DATA_PATH_HOST}/mysql:/var/lib/mysql
ports:
- "${MYSQL_PORT}:3306"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- TZ=${TIMEZONE}
restart: on-failure
redis:
build:
context: ./redis
args:
- REDIS_VERSION=${REDIS_VERSION}
volumes:
- ${DATA_PATH_HOST}/redis:/data
environment:
- TZ=${TIMEZONE}
ports:
- "${REDIS_PORT}:6379"
restart: on-failure
nginx:
build:
context: ./nginx
args:
- NGINX_VERSION=${NGINX_VERSION}
environment:
- TZ=${TIMEZONE}
volumes:
- ${CODE_PATH_HOST}:/var/www/
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
ports:
- "${NGINX_HTTP_PORT}:80"
- "${NGINX_HTTPS_PORT}:443"
depends_on:
- php-fpm
restart: on-failure
nodejs:
image: node:${NODE_VERSION}
volumes:
- ${CODE_PATH_HOST}:/var/www/
working_dir: /var/www/web
ports:
- "${NODE_PORT}:3000"
restart: on-failure