
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 40s
54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Grafana - Simple Web UI for viewing logs
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: ${CONTAINER_NAME}_grafana
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=${AUTH_USERNAME:-admin}
|
|
- GF_SECURITY_ADMIN_PASSWORD=${AUTH_PASSWORD:-admin}
|
|
- GF_AUTH_ANONYMOUS_ENABLED=${AUTH_USERNAME:+false}
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
|
|
- GF_INSTALL_PLUGINS=
|
|
volumes:
|
|
- grafana_data:/var/lib/grafana
|
|
- ${CONFIG_PATH}/grafana-datasources.yml:/etc/grafana/provisioning/datasources/datasources.yaml:ro
|
|
- ${CONFIG_PATH}/grafana-dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yaml:ro
|
|
- ${CONFIG_PATH}/dashboards:/var/lib/grafana/dashboards:ro
|
|
ports:
|
|
- "${WEB_PORT:-3000}:3000"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- loki
|
|
|
|
# Loki - Lightweight log storage (100x simpler than Elasticsearch)
|
|
loki:
|
|
image: grafana/loki:2.9.0
|
|
container_name: ${CONTAINER_NAME}_loki
|
|
volumes:
|
|
- loki_data:/loki
|
|
- ${CONFIG_PATH}/loki.yaml:/etc/loki/local-config.yaml:ro
|
|
ports:
|
|
- "3100:3100"
|
|
command: -config.file=/etc/loki/local-config.yaml
|
|
restart: unless-stopped
|
|
|
|
# Promtail - Collects all logs (Docker + System)
|
|
promtail:
|
|
image: grafana/promtail:2.9.0
|
|
container_name: ${CONTAINER_NAME}_promtail
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- /var/log:/var/log:ro
|
|
- ${CONFIG_PATH}/promtail.yaml:/etc/promtail/config.yml:ro
|
|
- promtail_positions:/tmp/positions
|
|
command: -config.file=/etc/promtail/config.yml
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- loki
|
|
|
|
volumes:
|
|
grafana_data:
|
|
loki_data:
|
|
promtail_positions: |