From a778e18646f5f2f457e747855cec7696ade58828 Mon Sep 17 00:00:00 2001 From: hermes Date: Wed, 2 Sep 2026 11:26:23 +0100 Subject: [PATCH] Add loki logging stack (loki, promtail, grafana) --- docker-compose.yml | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f5fd3a2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,79 @@ +version: '3.8' + +services: + loki: + image: grafana/loki:3.3.1 + container_name: loki + stdin_open: true + tty: true + command: -config.file=/etc/loki/local-config.yaml + ports: + - 3100:3100 + volumes: + - loki_data:/loki + - loki_config:/etc/loki + networks: + - traefk-stack_default + - backend + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.http.routers.loki.rule=Host(`loki.maukit.com`)" + - "traefik.http.routers.loki.entrypoints=websecure" + - "traefik.http.routers.loki.tls=true" + - "traefik.http.routers.loki.tls.certresolver=production" + - "traefik.http.services.loki.loadbalancer.server.port=3100" + + promtail: + image: grafana/promtail:3.3.1 + container_name: promtail + stdin_open: true + tty: true + volumes: + - /var/log:/var/log:ro + - /var/lib/docker/containers:/var/lib/docker/containers:ro + - promtail_config:/etc/promtail + command: -config.file=/etc/promtail/config.yml + networks: + - backend + restart: unless-stopped + + grafana: + image: grafana/grafana:11.6.0 + container_name: grafana + stdin_open: true + tty: true + ports: + - 3000:3000 + environment: + - GF_SERVER_ROOT_URL=https://grafana.maukit.com + - GF_SERVER_DOMAIN=grafana.maukit.com + volumes: + - grafana_data:/var/lib/grafana + networks: + - traefk-stack_default + - backend + restart: unless-stopped + labels: + - "traefik.enable=true" + - "traefik.http.routers.grafana.rule=Host(`grafana.maukit.com`)" + - "traefik.http.routers.grafana.entrypoints=websecure" + - "traefik.http.routers.grafana.tls=true" + - "traefik.http.routers.grafana.tls.certresolver=production" + - "traefik.http.services.grafana.loadbalancer.server.port=3000" + +volumes: + loki_data: + external: true + loki_config: + external: true + grafana_data: + external: true + promtail_config: + external: true + +networks: + traefk-stack_default: + external: true + backend: + external: true