From b096df8209ea69904a9c84e83cba56f20054ff2a Mon Sep 17 00:00:00 2001 From: Aykhan Shahsuvarov Date: Tue, 17 Feb 2026 18:07:17 +0000 Subject: [PATCH] add log rotation --- caddy/docker-compose.yaml | 5 +++++ croc/docker-compose.yaml | 5 +++++ ghost/docker-compose.yaml | 5 +++++ gitea/docker-compose.yaml | 5 +++++ glance/docker-compose.yaml | 5 +++++ gopkg_proxy/docker-compose.yaml | 5 +++++ grafana/docker-compose.yaml | 5 +++++ immich/docker-compose.yaml | 20 ++++++++++++++++++++ memos/docker-compose.yaml | 5 +++++ prometheus/docker-compose.yaml | 15 +++++++++++++++ sftpgo/docker-compose.yaml | 5 +++++ slash/docker-compose.yaml | 5 +++++ stalwart/docker-compose.yaml | 5 +++++ uptime_kuma/docker-compose.yaml | 5 +++++ vaultwarden/docker-compose.yaml | 5 +++++ watchtower/docker-compose.yaml | 5 +++++ wg_easy/docker-compose.yaml | 5 +++++ 17 files changed, 110 insertions(+) diff --git a/caddy/docker-compose.yaml b/caddy/docker-compose.yaml index 46adee1..3d582e4 100644 --- a/caddy/docker-compose.yaml +++ b/caddy/docker-compose.yaml @@ -28,3 +28,8 @@ services: - ../private_volume:/private_volume env_file: - ./.env + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/croc/docker-compose.yaml b/croc/docker-compose.yaml index a48e4cd..efb0588 100644 --- a/croc/docker-compose.yaml +++ b/croc/docker-compose.yaml @@ -7,3 +7,8 @@ services: - "9009-9013:9009-9013" env_file: .env restart: unless-stopped + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/ghost/docker-compose.yaml b/ghost/docker-compose.yaml index 6896a91..04be67a 100644 --- a/ghost/docker-compose.yaml +++ b/ghost/docker-compose.yaml @@ -32,3 +32,8 @@ services: mail__transport: SMTP volumes: - ./data:/var/lib/ghost/content + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/gitea/docker-compose.yaml b/gitea/docker-compose.yaml index 260622f..426af78 100644 --- a/gitea/docker-compose.yaml +++ b/gitea/docker-compose.yaml @@ -42,3 +42,8 @@ services: volumes: - ./act-data:/data - /var/run/docker.sock:/var/run/docker.sock + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/glance/docker-compose.yaml b/glance/docker-compose.yaml index 72d9361..9875a2d 100644 --- a/glance/docker-compose.yaml +++ b/glance/docker-compose.yaml @@ -16,3 +16,8 @@ services: - ./assets:/app/assets - /var/run/docker.sock:/var/run/docker.sock:ro env_file: .env + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/gopkg_proxy/docker-compose.yaml b/gopkg_proxy/docker-compose.yaml index d773e4b..d35690c 100644 --- a/gopkg_proxy/docker-compose.yaml +++ b/gopkg_proxy/docker-compose.yaml @@ -13,3 +13,8 @@ services: - "com.centurylinklabs.watchtower.enable=true" networks: - caddy + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/grafana/docker-compose.yaml b/grafana/docker-compose.yaml index 1868e0d..3c62b86 100644 --- a/grafana/docker-compose.yaml +++ b/grafana/docker-compose.yaml @@ -23,6 +23,11 @@ services: - ./data/grafana/dashboards:/var/lib/grafana/dashboards - ./data/provisioning/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml - ./data/provisioning/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" volumes: grafana-data: diff --git a/immich/docker-compose.yaml b/immich/docker-compose.yaml index bd95bb7..4d9ce9f 100644 --- a/immich/docker-compose.yaml +++ b/immich/docker-compose.yaml @@ -32,6 +32,11 @@ services: restart: unless-stopped healthcheck: disable: false + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" immich-machine-learning: container_name: immich_machine_learning @@ -52,6 +57,11 @@ services: restart: unless-stopped healthcheck: disable: false + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" redis: container_name: immich_redis @@ -61,6 +71,11 @@ services: healthcheck: test: redis-cli ping || exit 1 restart: unless-stopped + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" database: container_name: immich_postgres @@ -77,6 +92,11 @@ services: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data shm_size: 128mb restart: unless-stopped + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" volumes: model-cache: diff --git a/memos/docker-compose.yaml b/memos/docker-compose.yaml index 62f6582..3050b4e 100644 --- a/memos/docker-compose.yaml +++ b/memos/docker-compose.yaml @@ -15,3 +15,8 @@ services: - ./data/app:/var/opt/memos networks: - caddy + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/prometheus/docker-compose.yaml b/prometheus/docker-compose.yaml index eae5d87..5cc6722 100644 --- a/prometheus/docker-compose.yaml +++ b/prometheus/docker-compose.yaml @@ -23,6 +23,11 @@ services: volumes: - ./data/config/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro - prometheus-data:/prometheus + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" node_exporter: image: quay.io/prometheus/node-exporter:v1.10.0 @@ -35,6 +40,11 @@ services: pid: host volumes: - "/:/host:ro,rslave" + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" cadvisor: image: gcr.io/cadvisor/cadvisor:v0.52.1 @@ -56,6 +66,11 @@ services: - -housekeeping_interval=3s - -storage_duration=2m - -docker_only + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" volumes: prometheus-data: diff --git a/sftpgo/docker-compose.yaml b/sftpgo/docker-compose.yaml index e6bc004..1c72dca 100644 --- a/sftpgo/docker-compose.yaml +++ b/sftpgo/docker-compose.yaml @@ -22,3 +22,8 @@ services: volumes: - ./data/data:/srv/sftpgo - ./data/home:/var/lib/sftpgo + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/slash/docker-compose.yaml b/slash/docker-compose.yaml index d66c505..a7096a7 100644 --- a/slash/docker-compose.yaml +++ b/slash/docker-compose.yaml @@ -14,3 +14,8 @@ services: - caddy volumes: - ./data/:/var/opt/slash + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/stalwart/docker-compose.yaml b/stalwart/docker-compose.yaml index 9d4515f..fef829a 100644 --- a/stalwart/docker-compose.yaml +++ b/stalwart/docker-compose.yaml @@ -26,3 +26,8 @@ services: - ./data:/opt/stalwart - ../caddy/data/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.aykhans.me/mail.aykhans.me.crt:/opt/stalwart/cert/mail.aykhans.me.pem - ../caddy/data/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.aykhans.me/mail.aykhans.me.key:/opt/stalwart/cert/mail.aykhans.me.priv.pem + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/uptime_kuma/docker-compose.yaml b/uptime_kuma/docker-compose.yaml index ddf1daf..da8c537 100644 --- a/uptime_kuma/docker-compose.yaml +++ b/uptime_kuma/docker-compose.yaml @@ -18,3 +18,8 @@ services: caddy: ${CADDY_DOMAIN} caddy.reverse_proxy: "* {{upstreams 3001}}" com.centurylinklabs.watchtower.enable: true + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/vaultwarden/docker-compose.yaml b/vaultwarden/docker-compose.yaml index 17c55f7..73bcd9b 100644 --- a/vaultwarden/docker-compose.yaml +++ b/vaultwarden/docker-compose.yaml @@ -16,3 +16,8 @@ services: - caddy volumes: - ./data:/data/ + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/watchtower/docker-compose.yaml b/watchtower/docker-compose.yaml index 1f13d80..47a0854 100644 --- a/watchtower/docker-compose.yaml +++ b/watchtower/docker-compose.yaml @@ -10,3 +10,8 @@ services: - "--rolling-restart" - "--interval" - "600" # 10 minutes + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" diff --git a/wg_easy/docker-compose.yaml b/wg_easy/docker-compose.yaml index 8a32d03..e0e3020 100644 --- a/wg_easy/docker-compose.yaml +++ b/wg_easy/docker-compose.yaml @@ -29,6 +29,11 @@ services: - net.ipv6.conf.all.disable_ipv6=0 - net.ipv6.conf.all.forwarding=1 - net.ipv6.conf.default.forwarding=1 + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "3" networks: caddy: