services: app: build: context: . dockerfile: resources/docker/Dockerfile args: PHP_VERSION: ${PHP_VERSION:-8.5} PHALCON_VARIANT: ${PHALCON_VARIANT:-v5} UID: ${UID:-1000} GID: ${GID:-1000} container_name: ${PROJECT_PREFIX:-talon}-app hostname: ${PROJECT_PREFIX:-talon}-app volumes: - .:/srv env_file: .env depends_on: mariadb: condition: service_healthy mysql: condition: service_healthy pgsql: condition: service_healthy redis: condition: service_started memcached: condition: service_started mariadb: image: mariadb:11.4 container_name: ${PROJECT_PREFIX:-talon}-mariadb environment: MARIADB_ROOT_PASSWORD: ${DATA_MARIADB_PASS:-secret} MARIADB_DATABASE: ${DATA_MARIADB_NAME:-talon} healthcheck: test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-p${DATA_MARIADB_PASS:-secret}"] interval: 5s timeout: 5s retries: 12 mysql: image: mysql:8.0 container_name: ${PROJECT_PREFIX:-talon}-mysql environment: MYSQL_ROOT_PASSWORD: ${DATA_MYSQL_PASS:-secret} MYSQL_DATABASE: ${DATA_MYSQL_NAME:-talon} healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-p${DATA_MYSQL_PASS:-secret}"] interval: 5s timeout: 5s retries: 12 pgsql: image: postgres:16 container_name: ${PROJECT_PREFIX:-talon}-pgsql environment: POSTGRES_PASSWORD: ${DATA_POSTGRES_PASS:-secret} POSTGRES_USER: ${DATA_POSTGRES_USER:-postgres} POSTGRES_DB: ${DATA_POSTGRES_NAME:-talon} healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DATA_POSTGRES_USER:-postgres}"] interval: 5s timeout: 5s retries: 12 redis: image: redis:7 container_name: ${PROJECT_PREFIX:-talon}-redis memcached: image: memcached:1.6 container_name: ${PROJECT_PREFIX:-talon}-memcached