1
0
Files
breadcrumb-the-shire/docker-compose.prod.yml
fs c34e62d729 harden: restore gate baseline, split dev/prod PHP profile, atomic module runtime build
Phase A — Gate Reliability:
- Fix typography token violations in app-breadcrumb.css
- Switch QG-006 from composer cs:check to direct php-cs-fixer
- Align all docs/skills with new gate command

Phase B — Production Profile:
- Multi-stage Dockerfile: dev (xdebug) / prod (no xdebug)
- Compose files target explicit build stages

Phase C — Module Runtime Hardening:
- Atomic staging+swap build in ModuleRuntimePageBuilder
- SHA-256 fingerprint from manifest content + page entries
- 11 new regression tests for build safety and fingerprint drift

Task: STARTERKIT-HARDENING-ONPREM-001

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 20:13:16 +01:00

70 lines
1.4 KiB
YAML

services:
nginx:
image: nginx:1.25-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./:/var/www
- ./docker/nginx/prod.conf:/etc/nginx/conf.d/default.conf:ro
- ./docker/nginx/certs:/etc/nginx/certs:ro
depends_on:
- php
restart: unless-stopped
php:
build:
context: .
dockerfile: docker/php/Dockerfile
target: prod
env_file:
- .env
environment:
APP_ENV: prod
APP_DEBUG: "0"
volumes:
- ./:/var/www
depends_on:
- db
- memcached
restart: unless-stopped
scheduler:
build:
context: .
dockerfile: docker/php/Dockerfile
target: prod
env_file:
- .env
environment:
APP_ENV: prod
APP_DEBUG: "0"
volumes:
- ./:/var/www
depends_on:
- db
- memcached
command: sh -lc "while true; do php -d display_errors=0 bin/console scheduler:run || true; sleep 60; done"
restart: unless-stopped
db:
image: mariadb:11.4
env_file:
- .env
environment:
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MARIADB_DATABASE: ${DB_NAME}
MARIADB_USER: ${DB_USER}
MARIADB_PASSWORD: ${DB_PASS}
volumes:
- db_data:/var/lib/mysql
- ./db/init:/docker-entrypoint-initdb.d:ro
restart: unless-stopped
memcached:
image: memcached:1.6-alpine
restart: unless-stopped
volumes:
db_data: