name: kaunter_staging services: app: image: ${APP_IMAGE:-git.koppkb.com/kopkb/kaunter}:${IMAGE_TAG:-staging} build: context: . dockerfile: docker/php/Dockerfile target: staging container_name: kaunter_staging_app working_dir: /var/www/html volumes: - storage_staging:/var/www/html/storage - ./.env.staging:/var/www/html/.env.staging:ro env_file: - .env.staging environment: APP_ENV: staging USE_STAGING_ENV: "true" extra_hosts: - "host.docker.internal:host-gateway" depends_on: mysql: condition: service_healthy restart: unless-stopped web: image: nginx:1.25-alpine container_name: kaunter_staging_web ports: - "${HTTP_PORT:-8091}:80" volumes: - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro - ./public:/var/www/html/public:ro depends_on: - app restart: unless-stopped mysql: image: mysql:8.0 container_name: kaunter_staging_mysql command: --default-authentication-plugin=mysql_native_password ports: - "127.0.0.1:${MYSQL_PUBLISH_PORT:-3309}:3306" environment: MYSQL_DATABASE: kaunter_erahn MYSQL_USER: kaunteruser MYSQL_PASSWORD: password MYSQL_ROOT_PASSWORD: root volumes: - mysql_staging_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-proot"] interval: 5s timeout: 5s retries: 30 start_period: 20s restart: unless-stopped volumes: mysql_staging_data: storage_staging: