Did some exploratory ELK stack stuff. Need a Docker Compose compatible logger
Â
Loki, Grafana, Promtail
DC file that works!
yaml
x-logging: &default-logging
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
tag: "{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}"
dashboard-frontend:
build:
context: ./frontend
dockerfile: Dockerfile
args:
- VITE_API_BASE_URL=https://${API_BASE_URL}/api
- VITE_PARTICIPANT_BASE_URL=https://${PARTICIPANT_BASE_URL}
- VITE_BUILD_VERSION=${BUILD_VERSION}
- VITE_USE_PARTICIPANT_ROUTER=0
restart: unless-stopped
depends_on:
- api-server
logging: *default-logging
promtail:
image: grafana/promtail:2.8.0
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /var/run/docker.sock:/var/run/docker.sock
- ./promtail-config.yaml:/etc/promtail/config.yaml
command: -config.file=/etc/promtail/config.yaml
networks:
- default
loki:
image: grafana/loki:latest
restart: unless-stopped
networks:
- default
volumes:
- loki_data:/loki
command: -config.file=/etc/loki/local-config.yaml
grafana:
image: grafana/grafana:latest
restart: unless-stopped
entrypoint:
- sh
- -euc
- |
mkdir -p /etc/grafana/provisioning/datasources
cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
apiVersion: 1
datasources:
- name: Loki
type: loki
access: proxy
url: http://loki:3100
EOF
/run.sh
ports:
- "3000:3000"
networks:
- default
volumes:
- grafana_data:/var/lib/grafana
depends_on:
- loki
volumes:
loki_data:
grafana_data:
networks:
default:
driver: bridge