docker-compose.development.yml
Rama main · réplica de lectura del repositorio original.
volumes:
redis-data: {}
mysql-data: {}
services:
web:
build:
context: ./
dockerfile: docker/php/Dockerfile
target: development
environment:
- APP_DOMAIN=localhost:12380
- APP_PROTOCOL=http
- SITE_SUBDOMAIN=stdparteitag
- DB_HOST=mysql
- DB_NAME=antragsgruen
- DB_USER=${DB_USER:?Please set DB_USER in .env}
- DB_PASSWORD=${DB_PASSWORD:?Please set DB_PASSWORD in .env}
- REDIS_HOST=redis
- MAILER_DISABLED=true
- MAIL_FROM_EMAIL=noreply@example.org
- MAIL_FROM_NAME=Motion Tools
- RANDOM_SEED=${RANDOM_SEED}
- RABBITMQ_HOST=rabbitmq
- WEASYPRINT_PATH=/usr/bin/weasyprint
- QPDF_PATH=/usr/bin/qpdf
- IMAGE_MAGICK_PATH=/usr/bin/convert
- OTEL_PHP_AUTOLOAD_ENABLED=true
- OTEL_SERVICE_NAME=antragsgruen
- OTEL_TRACES_EXPORTER=otlp
- OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otlp-collector:4318
- OTEL_PROPAGATORS=baggage,tracecontext
- BACKGROUND_JOBS_NOTIFICATIONS=true
- JS_ERROR_TRACKING=otel://js.error
volumes:
- "./:/var/www/antragsgruen"
- "../antragsgruen-plugins/:/var/www/antragsgruen-plugins/:ro"
nginx:
image: nginx:latest
ports:
- "12380:80"
- "12443:443"
volumes:
- "./:/var/www/antragsgruen:ro"
- "./docker/nginx:/etc/nginx/conf.d"
worker:
build:
context: ./
dockerfile: docker/php/Dockerfile
target: development
command: /var/www/antragsgruen/yii background-job/run
environment:
- APP_DOMAIN=localhost:12380
- APP_PROTOCOL=http
- SITE_SUBDOMAIN=stdparteitag
- DB_HOST=mysql
- DB_NAME=antragsgruen
- DB_USER=${DB_USER:?Please set DB_USER in .env}
- DB_PASSWORD=${DB_PASSWORD:?Please set DB_PASSWORD in .env}
- REDIS_HOST=redis
- MAILER_DISABLED=true
- RANDOM_SEED=${RANDOM_SEED}
- BACKGROUND_JOBS_NOTIFICATIONS=true
volumes:
- "./:/var/www/antragsgruen"
- "../antragsgruen-plugins/:/var/www/antragsgruen-plugins/:ro"
depends_on:
mysql:
condition: service_healthy
cron:
build:
context: ./
dockerfile: docker/php/Dockerfile
target: development
command: sh -c "while true; do /var/www/antragsgruen/yii background-job/cleanup; sleep 86400; done"
environment:
- DB_HOST=mysql
- DB_NAME=antragsgruen
- DB_USER=${DB_USER:?Please set DB_USER in .env}
- DB_PASSWORD=${DB_PASSWORD:?Please set DB_PASSWORD in .env}
volumes:
- "./:/var/www/antragsgruen"
- "../antragsgruen-plugins/:/var/www/antragsgruen-plugins/:ro"
depends_on:
mysql:
condition: service_healthy
mysql:
image: mariadb
command: --max_allowed_packet=33554432
ports:
- "13306:3306"
environment:
MARIADB_ROOT_PASSWORD: ${DB_PASSWORD:?Please set DB_PASSWORD in .env}
MARIADB_DATABASE: antragsgruen
volumes:
- "mysql-data:/var/lib/mysql"
healthcheck:
test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ]
start_period: 3s
interval: 3s
timeout: 5s
retries: 10
redis:
image: "redis:7"
volumes:
- 'redis-data:/data'
rabbitmq:
image: 'rabbitmq:3-management-alpine'
environment:
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS:?Please set RABBITMQ_DEFAULT_PASS in .env}
- RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER:?Please set RABBITMQ_DEFAULT_USER in .env}
ports:
- "5672:5672"
- "15672:15672"
profiles:
- live
vite-watch:
build:
context: ./
dockerfile: docker/pnpm/Dockerfile
volumes:
- "./:/var/www/antragsgruen"
working_dir: /var/www/antragsgruen
command: "pnpm run watch"
profiles:
- vite-watch
pnpm-helper:
build:
context: ./
dockerfile: docker/pnpm/Dockerfile
volumes:
- "./:/var/www/antragsgruen"
working_dir: /var/www/antragsgruen
command: sleep infinity
profiles:
- pnpm-helper
otlp-collector:
image: otel/opentelemetry-collector
command: ["--config=/etc/otel/collector-config.yml"]
ports:
- "4317:4317"
- "4318:4318"
- "55679:55679"
volumes:
- "./docker/otel/collector-config.yml:/etc/otel/collector-config.yml:ro"