Cap every container's logs, or they grow forever

Docker's json-file driver never rotates on its own, and every service here is
meant to run for weeks. One x-logging anchor, reused across all six services,
so the limit lives in one place instead of six copies that could drift.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Lucio Lelii 2026-09-24 11:51:34 +02:00
parent da7200a394
commit 15a8fd3d0d
1 changed files with 15 additions and 0 deletions

View File

@ -1,5 +1,14 @@
name: secure-mcp-stack
# Docker's default json-file driver never rotates on its own, so a container that runs for weeks -
# which every one of these does - writes an unbounded log file. One definition, reused by every
# service below, so the cap lives in exactly one place.
x-logging: &default-logging
driver: json-file
options:
max-size: "10m"
max-file: "3"
services:
coding-agent-mcp:
build:
@ -25,6 +34,7 @@ services:
expose: ["3000"]
networks: [coding-control]
restart: unless-stopped
logging: *default-logging
dev-server-mcp:
build:
@ -51,6 +61,7 @@ services:
networks: [dev-server-control]
depends_on: [dev-server-worker]
restart: unless-stopped
logging: *default-logging
dev-server-worker:
build:
@ -105,6 +116,7 @@ services:
networks: [dev-server-control, workspace-browser, proxy-control]
depends_on: [egress-proxy]
restart: unless-stopped
logging: *default-logging
egress-proxy:
# Installing dependencies means fetching and running other people's code, so the worker has no
@ -130,6 +142,7 @@ services:
expose: ["3128"]
networks: [proxy-control, egress]
restart: unless-stopped
logging: *default-logging
browser-mcp:
build:
@ -158,6 +171,7 @@ services:
expose: ["3000"]
networks: [workspace-browser]
restart: unless-stopped
logging: *default-logging
mcp-gateway:
image: caddy:2
@ -200,6 +214,7 @@ services:
networks: [gateway, coding-control, dev-server-control, workspace-browser]
depends_on: [coding-agent-mcp, dev-server-mcp, browser-mcp]
restart: unless-stopped
logging: *default-logging
networks:
gateway: