# SPDX-License-Identifier: MIT # Copyright (c) 2026 Netresearch DTT GmbH # compose.override.yml.example — dev overrides # # Copy to compose.override.yml and `docker compose up -d` will merge it. # # Adds: # - mailpit (SMTP sink + web UI on http://127.0.0.1:8025); point GLPI at it # from Setup > Notifications (host mailpit, port 1025) — GLPI configures SMTP # in the UI, NOT via env. # - adminer (DB UI on http://127.0.0.1:8081) # - exposes db + valkey on LOOPBACK only for local inspection # - GLPI_ENVIRONMENT_TYPE=development (GLPI's real debug switch — shows the # debug toolbar + verbose errors; there is no Laravel APP_DEBUG in GLPI) # - opcache validate_timestamps=1 for hot-reload (only useful if you bind-mount # source over the image-baked code) # # All published ports are bound to 127.0.0.1 so a dev laptop on an untrusted # network never exposes the database / cache / mail UI off-host. services: app: environment: GLPI_ENVIRONMENT_TYPE: development db: ports: - "127.0.0.1:3306:3306" valkey: ports: - "127.0.0.1:6379:6379" mailpit: image: axllent/mailpit:latest restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5" ports: - "127.0.0.1:8025:8025" # web UI - "127.0.0.1:1025:1025" # SMTP (also reachable as mailpit:1025 from app) environment: MP_SMTP_AUTH_ACCEPT_ANY: "1" MP_SMTP_AUTH_ALLOW_INSECURE: "1" security_opt: - no-new-privileges:true networks: - glpi adminer: image: adminer:latest restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5" ports: - "127.0.0.1:8081:8080" environment: ADMINER_DEFAULT_SERVER: db security_opt: - no-new-privileges:true networks: - glpi