Files
scrum-poker-internal/docker-compose.yml
2026-08-24 16:52:30 +02:00

110 lines
2.4 KiB
YAML

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: