chore: add Docker log rotation to all services (refs #85)
All checks were successful
Deploy to Staging / Build Images (pull_request) Successful in 30s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 31s
Deploy to Staging / Verify Staging (pull_request) Successful in 2m19s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped

Add logging configuration with json-file driver and rotation to all 6 services:
- mvp-traefik
- mvp-frontend
- mvp-backend
- mvp-ocr
- mvp-postgres
- mvp-redis

Configuration:
- max-size: 10m (10MB per log file)
- max-file: 3 (keep 3 rotated files)
- Total max storage: 6 x 30MB = 180MB

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Eric Gullickson
2026-02-03 19:49:28 -06:00
parent 5593459090
commit ceaabee7a0

View File

@@ -39,6 +39,11 @@ services:
- "traefik.http.routers.traefik-dashboard.tls=true" - "traefik.http.routers.traefik-dashboard.tls=true"
- "traefik.http.services.traefik-dashboard.loadbalancer.server.port=8080" - "traefik.http.services.traefik-dashboard.loadbalancer.server.port=8080"
- "traefik.http.middlewares.dashboard-auth.basicauth.users=admin:$$2y$$10$$foobar" - "traefik.http.middlewares.dashboard-auth.basicauth.users=admin:$$2y$$10$$foobar"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# Application Services - Frontend SPA # Application Services - Frontend SPA
mvp-frontend: mvp-frontend:
@@ -87,6 +92,11 @@ services:
- "traefik.http.services.mvp-frontend.loadbalancer.healthcheck.path=/" - "traefik.http.services.mvp-frontend.loadbalancer.healthcheck.path=/"
- "traefik.http.services.mvp-frontend.loadbalancer.healthcheck.interval=30s" - "traefik.http.services.mvp-frontend.loadbalancer.healthcheck.interval=30s"
- "traefik.http.services.mvp-frontend.loadbalancer.passhostheader=true" - "traefik.http.services.mvp-frontend.loadbalancer.passhostheader=true"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# Application Services - Backend API # Application Services - Backend API
mvp-backend: mvp-backend:
@@ -163,6 +173,11 @@ services:
- "traefik.http.services.mvp-backend.loadbalancer.healthcheck.interval=30s" - "traefik.http.services.mvp-backend.loadbalancer.healthcheck.interval=30s"
- "traefik.http.services.mvp-backend.loadbalancer.healthcheck.timeout=10s" - "traefik.http.services.mvp-backend.loadbalancer.healthcheck.timeout=10s"
- "traefik.http.services.mvp-backend.loadbalancer.passhostheader=true" - "traefik.http.services.mvp-backend.loadbalancer.passhostheader=true"
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# Application Services - OCR Processing # Application Services - OCR Processing
mvp-ocr: mvp-ocr:
@@ -187,6 +202,11 @@ services:
timeout: 10s timeout: 10s
retries: 3 retries: 3
start_period: 30s start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# Database Services - Application PostgreSQL # Database Services - Application PostgreSQL
mvp-postgres: mvp-postgres:
@@ -212,6 +232,11 @@ services:
timeout: 5s timeout: 5s
retries: 5 retries: 5
start_period: 30s start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# Database Services - Application Redis # Database Services - Application Redis
mvp-redis: mvp-redis:
@@ -230,6 +255,11 @@ services:
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 5 retries: 5
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# Network Definition # Network Definition
networks: networks: