# Production stack for Dockge. Uses images from Gitea registry only (no build). # Ports in 3000 range to avoid conflicts with other containers on the host. # Set TAG in .env (e.g. TAG=1.0.0 or TAG=latest). services: api: image: 10.0.10.205:3000/bert.hausmans/event-uploader-api:${TAG:-latest} ports: - "3001:8000" environment: - APP_KEY=${APP_KEY} - APP_ENV=production - APP_DEBUG=${APP_DEBUG:-false} - APP_URL=${APP_URL} - DB_CONNECTION=mysql - DB_HOST=mysql - DB_PORT=3306 - DB_DATABASE=${DB_DATABASE:-event_uploader} - DB_USERNAME=${DB_USERNAME:-root} - DB_PASSWORD=${DB_PASSWORD} - SESSION_DOMAIN=${SESSION_DOMAIN} - SANCTUM_STATEFUL_DOMAINS=${SANCTUM_STATEFUL_DOMAINS} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET:-} - GOOGLE_REDIRECT_URI=${GOOGLE_REDIRECT_URI:-} depends_on: mysql: condition: service_healthy networks: - event-uploader queue: image: 10.0.10.205:3000/bert.hausmans/event-uploader-api:${TAG:-latest} command: ["php", "artisan", "queue:work"] environment: - APP_KEY=${APP_KEY} - APP_ENV=production - DB_CONNECTION=mysql - DB_HOST=mysql - DB_PORT=3306 - DB_DATABASE=${DB_DATABASE:-event_uploader} - DB_USERNAME=${DB_USERNAME:-root} - DB_PASSWORD=${DB_PASSWORD} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET:-} depends_on: mysql: condition: service_healthy api: condition: service_started networks: - event-uploader admin: image: 10.0.10.205:3000/bert.hausmans/event-uploader-admin:${TAG:-latest} ports: - "3002:80" networks: - event-uploader upload: image: 10.0.10.205:3000/bert.hausmans/event-uploader-upload:${TAG:-latest} ports: - "3003:80" networks: - event-uploader mysql: image: docker.io/library/mysql:8.0 ports: - "3004:3306" environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} MYSQL_DATABASE: ${DB_DATABASE:-event_uploader} volumes: - event_uploader_mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-p${DB_PASSWORD}"] interval: 5s timeout: 5s retries: 10 networks: - event-uploader volumes: event_uploader_mysql_data: networks: event-uploader: driver: bridge