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