services: web: container_name: scrum-poker-web image: scrum-poker-app:local build: context: . dockerfile: Dockerfile target: runtime command: nginx restart: unless-stopped ports: - "8080:8080" env_file: - .env.production environment: PHP_FPM_UPSTREAM: php-fpm:9000 networks: - scrum-poker-web healthcheck: test: ["CMD", "curl", "--fail", "--silent", "http://127.0.0.1:8080/up"] interval: 10s timeout: 5s retries: 3 depends_on: php-fpm: condition: service_healthy php-fpm: container_name: scrum-poker-php-fpm image: scrum-poker-app:local build: context: . dockerfile: Dockerfile target: runtime restart: unless-stopped env_file: - .env.production networks: - scrum-poker-web - scrum-poker-db healthcheck: test: ["CMD-SHELL", "php-fpm-healthcheck || exit 1"] interval: 10s timeout: 5s retries: 3 depends_on: mariadb: condition: service_healthy worker: container_name: scrum-poker-worker image: scrum-poker-app:local build: context: . dockerfile: Dockerfile target: runtime command: php artisan queue:work --sleep=3 --tries=3 --timeout=60 --max-time=3600 restart: unless-stopped env_file: - .env.production networks: - scrum-poker-db depends_on: mariadb: condition: service_healthy reverb: container_name: scrum-poker-reverb image: scrum-poker-app:local build: context: . dockerfile: Dockerfile target: runtime command: php artisan reverb:start restart: unless-stopped ports: - "800:8000" env_file: - .env.production networks: - scrum-poker-db depends_on: mariadb: condition: service_healthy mariadb: container_name: scrum-poker-db image: mariadb:11.4 restart: unless-stopped env_file: - .env.mariadb command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci volumes: - mariadb-data-production:/var/lib/mysql networks: - scrum-poker-db healthcheck: test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ] start_period: 10s interval: 10s timeout: 5s retries: 3 networks: scrum-poker-db: scrum-poker-web: volumes: mariadb-data-production: