version: "3.9" services: app: build: context: . dockerfile: Dockerfile args: REPO_URL: "${REPO_URL}" DEPLOY_KEY_B64: "${DEPLOY_KEY}" container_name: slim-app environment: APP_ENV: ${APP_ENV} DB_HOST: ${DB_HOST} DB_PORT: ${DB_PORT} DB_DATABASE: ${DB_DATABASE} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} depends_on: db: condition: service_healthy web: image: nginx:1.27-alpine container_name: slim-web ports: - "8080:80" volumes: - ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - app db: image: mariadb:11.4 container_name: slim-db environment: MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} MARIADB_DATABASE: ${DB_DATABASE} MARIADB_USER: ${DB_USERNAME} MARIADB_PASSWORD: ${DB_PASSWORD} ports: - "${DB_EXPOSE_PORT}:3306" volumes: - dbdata:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 5 volumes: dbdata: