Files
2026-07-01 23:10:46 +02:00

60 lines
1.4 KiB
YAML

services:
nginx:
image: nginx:alpine
depends_on:
- php
ports:
- "${NGINX_PORT:-8080}:80"
volumes:
- ../:/var/www/html:ro
- ./nginx/conf.d:/etc/nginx/conf.d:ro
php:
build:
context: ./php
args:
UID: ${UID:-1000}
GID: ${GID:-1000}
depends_on:
mysql:
condition: service_healthy
rabbitmq:
condition: service_healthy
volumes:
- ../:/var/www/html
mysql:
image: mysql:8.4
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE:-app}
MYSQL_USER: ${MYSQL_USER:-app}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-!ChangeMe!}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-!ChangeMe!}
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-!ChangeMe!}"]
interval: 5s
timeout: 5s
retries: 10
volumes:
- mysql_data:/var/lib/mysql
- ./mysql/conf.d:/etc/mysql/conf.d:ro
rabbitmq:
image: rabbitmq:4-management-alpine
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER:-guest}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS:-guest}
healthcheck:
test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"]
interval: 5s
timeout: 5s
retries: 10
ports:
- "${RABBITMQ_MANAGEMENT_PORT:-15672}:15672"
volumes:
- rabbitmq_data:/var/lib/rabbitmq
volumes:
mysql_data:
rabbitmq_data: