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" networks: - network extra_hosts: - host.docker.internal:host-gateway web: networks: network: aliases: - ${APP_HOST?} depends_on: - php-fpm chrome: image: selenium/standalone-chromium:latest networks: - network smtp4dev: image: registry.thomas-peterson.de/smtp4dev:manifest-amd64 restart: always environment: - ServerOptions__Urls=http://*:80 - ServerOptions__HostName=smtp4dev networks: - network webhook: image: tarampampam/webhook-tester:2 restart: always environment: - AUTO_CREATE_SESSIONS=true networks: - network application: image: ${DOCKER_REGISTRY?}/${DOCKER_NAMESPACE?}/application-${ENV?}:${TAG?} build: context: ../ # platforms: # - "linux/amd64" # - "linux/arm64" 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" tty: true networks: - network extra_hosts: - host.docker.internal:host-gateway depends_on: - chrome - mysql - mongodb mongodb: image: mongo:${MONGODB_VERSION?} #volumes: # - mongodb:/data/db networks: - network mysql: image: mariadb:${MYSQL_VERSION?} environment: - MYSQL_DATABASE=${MYSQL_DATABASE:-application_db} - MYSQL_USER=${MYSQL_USER:-application_user} - MYSQL_PASSWORD=${MYSQL_PASSWORD?} - MYSQL_ALLOW_EMPTY_PASSWORD=true - TZ=${TIMEZONE:-UTC} volumes: - ${MYSQL_BACKUP_PATH_HOST?}:/docker-entrypoint-initdb.d/database.sql # - mysql:/var/lib/mysql command: --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