version: '3.7' networks: network: driver: ${NETWORKS_DRIVER?} volumes: mysql: name: mysql-${ENV?} driver: ${VOLUMES_DRIVER?} mongodb: name: mongodb-${ENV?} driver: ${VOLUMES_DRIVER?} services: php-fpm: environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG?} # cap_add and security_opt are required to enable strace # @see https://stackoverflow.com/a/46676868 cap_add: - "SYS_PTRACE" security_opt: - "seccomp=unconfined" volumes: - ${APP_CODE_PATH_HOST?}:${APP_CODE_PATH_CONTAINER?} networks: - network extra_hosts: - host.docker.internal:host-gateway php-cron: environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG?} volumes: - ${APP_CODE_PATH_HOST?}:${APP_CODE_PATH_CONTAINER?} cap_add: - "SYS_PTRACE" security_opt: - "seccomp=unconfined" extra_hosts: - host.docker.internal:host-gateway web: volumes: - ${APP_CODE_PATH_HOST?}:${APP_CODE_PATH_CONTAINER?} ports: - "${NGINX_HOST_HTTP_PORT:-80}:80" - "${NGINX_HOST_HTTPS_PORT:-443}:443" networks: network: aliases: - ${APP_HOST?} depends_on: - php-fpm tp: image: registry.gitlab.com/printshopcreator/docker/docker_tp:v21x1x1 networks: - network application: image: ${DOCKER_REGISTRY?}/${DOCKER_NAMESPACE?}/application-${ENV?}:${TAG?} build: context: ../ dockerfile: ./images/php/application/Dockerfile args: - BASE_IMAGE=${DOCKER_REGISTRY?}/${DOCKER_NAMESPACE?}/php-base-${ENV?}:${TAG?} - APP_SSH_PASSWORD=${APP_SSH_PASSWORD?} - ENV=${ENV?} environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG?} # cap_add and security_opt are required to enable strace # @see https://stackoverflow.com/a/46676868 cap_add: - "SYS_PTRACE" security_opt: - "seccomp=unconfined" volumes: - ${APP_CODE_PATH_HOST?}:${APP_CODE_PATH_CONTAINER?} ports: - "${APPLICATION_SSH_HOST_PORT:-2222}:22" tty: true networks: - network extra_hosts: - host.docker.internal:host-gateway mongodb: image: mongo:${MONGODB_VERSION?} platform: linux/amd64 volumes: - mongodb:/data/db networks: - network ports: - "${MONGODB_HOST_PORT:-27017}:27017" mysql: image: mariadb:${MYSQL_VERSION?} platform: linux/amd64 environment: - MYSQL_DATABASE=${MYSQL_DATABASE:-application_db} - MYSQL_USER=${MYSQL_USER:-application_user} - MYSQL_PASSWORD=${MYSQL_PASSWORD?} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD?} - TZ=${TIMEZONE:-UTC} volumes: - mysql:/var/lib/mysql command: mysqld --sql_mode="ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" --character-set-server=utf8 --collation-server=utf8_slovenian_ci --innodb-flush-log-at-trx-commit=0 networks: - network ports: - "${MYSQL_HOST_PORT:-3306}:3306"