version: '3.6'
networks:
ibs-backend-network:
name: ibs-backend-network
driver: bridge
ipam:
driver: default
config:
- subnet: "${IBS_BACKEND_NETWORK_SUBNET}.0/28"
volumes:
ibs-mysql-data:
name: ibs-mysql-data
driver: local
services:
ibs-mysql:
build:
args:
APPLICATION_PATH: ${IBS_BACKEND_APPLICATION_PATH}
MYSQL_USER: ${IBS_BACKEND_MYSQL_USER}
MYSQL_PASSWORD: ${IBS_BACKEND_MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${IBS_BACKEND_MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${IBS_BACKEND_MYSQL_DATABASE}
context: ./
dockerfile: ./build/${IBS_BACKEND_ENV}/db/mysql/Dockerfile
container_name: ibs-mysql
networks:
ibs-backend-network:
ipv4_address: "${IBS_BACKEND_NETWORK_SUBNET}.2"
ports:
- ${IBS_BACKEND_MYSQL_HOST_PORT}:3306
restart: "no"
tty: true
volumes:
- ./:${IBS_BACKEND_APPLICATION_PATH}/
- ibs-mysql-data:/var/lib/mysql/
- ./var/log/${IBS_BACKEND_ENV}/mysql/:/var/log/mysql/
ibs-php-fpm:
build:
args:
APP_ENV: ${IBS_BACKEND_APP_ENV}
APPLICATION_PATH: ${IBS_BACKEND_APPLICATION_PATH}
NETWORK_SUBNET: ${IBS_BACKEND_NETWORK_SUBNET}
NGINX_HOST_HTTP_PORT: ${IBS_BACKEND_NGINX_HOST_HTTP_PORT}
NGINX_HOST_HTTPS_PORT: ${IBS_BACKEND_NGINX_HOST_HTTPS_PORT}
MYSQL_USER: ${IBS_BACKEND_MYSQL_USER}
MYSQL_PASSWORD: ${IBS_BACKEND_MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${IBS_BACKEND_MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${IBS_BACKEND_MYSQL_DATABASE}
MAILER_TRANSPORT: ${IBS_BACKEND_MAILER_TRANSPORT}
MAILER_HOST: ${IBS_BACKEND_MAILER_HOST}
MAILER_PORT: ${IBS_BACKEND_MAILER_PORT}
MAILER_USER: ${IBS_BACKEND_MAILER_USER}
MAILER_PASSWORD: ${IBS_BACKEND_MAILER_PASSWORD}
RUN_TEST_AFTER_INSTALL_PROJECT: ${IBS_BACKEND_RUN_TEST_AFTER_INSTALL_PROJECT}
context: ./
dockerfile: ./build/${IBS_BACKEND_ENV}/php-fpm/Dockerfile
container_name: ibs-php-fpm
depends_on:
- ibs-mysql
environment:
- "XDEBUG_CONFIG=remote_host=${IBS_BACKEND_NETWORK_SUBNET}.1 remote_enable=1"
- "PHP_IDE_CONFIG=serverName=${IBS_BACKEND_NETWORK_SUBNET}.4"
networks:
ibs-backend-network:
ipv4_address: "${IBS_BACKEND_NETWORK_SUBNET}.3"
restart: "no"
tty: true
volumes:
- ./:${IBS_BACKEND_APPLICATION_PATH}/
- ./var/log/${IBS_BACKEND_ENV}/php-fpm/:/var/log/php-fpm/
ibs-nginx:
build:
args:
IBS_FRONTEND_NETWORK: "${IBS_FRONTEND_NETWORK}"
context: ./
dockerfile: ./build/${IBS_BACKEND_ENV}/server/nginx/Dockerfile
container_name: ibs-nginx
depends_on:
- ibs-php-fpm
networks:
ibs-backend-network:
ipv4_address: "${IBS_BACKEND_NETWORK_SUBNET}.4"
ports:
- ${IBS_BACKEND_NGINX_HOST_HTTP_PORT}:80
- ${IBS_BACKEND_NGINX_HOST_HTTPS_PORT}:443
restart: "no"
tty: true
volumes:
- ./:${IBS_BACKEND_APPLICATION_PATH}/
- ./var/log/${IBS_BACKEND_ENV}/nginx/:/var/log/nginx/
ibs-mailhog:
container_name: ibs-mailhog
image: mailhog/mailhog
ports:
- ${IBS_BACKEND_MAILER_PORT}:1025 # smtp server
- ${IBS_BACKEND_MAILER_WEB_UI_PORT}:8025 # web ui
restart: "no"
tty: true
networks:
ibs-backend-network:
ipv4_address: "${IBS_BACKEND_NETWORK_SUBNET}.6"
ibs-blackfire:
image: blackfire/blackfire
ports:
- ${IBS_BACKEND_BLACKFIRE_PORT}:8707
environment:
BLACKFIRE_LOG_LEVEL: ${IBS_BACKEND_BLACKFIRE_LOG_LEVEL} # (4: debug, 3: info, 2: warning, 1: error)
BLACKFIRE_SERVER_ID: ${IBS_BACKEND_BLACKFIRE_SERVER_ID}
BLACKFIRE_SERVER_TOKEN: ${IBS_BACKEND_BLACKFIRE_SERVER_TOKEN}
BLACKFIRE_CLIENT_ID: ${IBS_BACKEND_BLACKFIRE_CLIENT_ID}
BLACKFIRE_CLIENT_TOKEN: ${IBS_BACKEND_BLACKFIRE_CLIENT_TOKEN}