Skip to content

[deploy] No log rotation on compose services — json-file driver will fill 40 GB Hetzner disk #291

@obchain

Description

@obchain

PR: #55 (feat/27-docker-compose)
Files: deploy/compose/docker-compose.yml (no logging block on either service)

Neither the charon nor alloy service defines a logging: configuration. Docker's default json-file log driver has no rotation limits. Charon emits approximately one info! log per BSC block (3-second block time, ~28,800 block events per day from the block listener alone). Alloy emits scrape status logs every 15 seconds.

On a 40 GB Hetzner CX22 hosting the OS (~5 GB), Docker images (~1 GB), and the compose stack, unbounded log growth will fill the disk within weeks under normal operation. The Dockerfile comment explicitly notes CX22's 40 GB disk budget but makes no provision to stay within it.

Suggested fix: Add a logging: block to each service:

logging:
  driver: json-file
  options:
    max-size: "50m"
    max-file: "5"

This caps each service at 250 MB total log storage, retaining several days of history for incident investigation while staying well within the CX22 disk budget.

Refs #55

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinglayer:devopsCI / deploy / infra / telemetrypr-reviewFindings from PR review processpriority:p2-polishNice-to-have / polishstatus:readyScoped and ready to pick up

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions