loki-single-docker/docker-cmpose.yml

94 lines
3.3 KiB
YAML
Raw Permalink Normal View History

version: "3.9"
services:
grafana:
image: ${GRAFANA_IMAGE}
container_name: ${GRAFANA_CONTAINER_NAME}
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.logs.entrypoints=https"
- "traefik.http.routers.logs.rule=Host(`grafana.${HOST}`)"
- "traefik.http.routers.logs.tls=true"
- "traefik.http.routers.logs.tls.certresolver=letsEncrypt"
- "traefik.http.services.logs-service.loadbalancer.server.port=3000"
- "traefik.docker.network=${PROXY_NETWORK}"
environment:
- GF_PATHS_DATA=/var/lib/grafana/data
- GF_PATHS_LOGS=/var/log/grafana
- GF_PATHS_PLUGINS=/var/lib/grafana/plugins
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_ANONYMOUS_ENABLED=false
- GF_USERS_ALLOW_SIGN_UP=false
- GF_USERS_ALLOW_ORG_CREATE=false
volumes:
- ./configs/grafana-configs/grafana.ini:/etc/grafana/grafana.ini
- ./configs/grafana-configs/ldap.toml:/etc/grafana/ldap.toml
- ./configs/grafana-configs/datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
2024-06-25 12:19:10 +00:00
- ./data/grafana-backup:/backup
- ./data/grafana-storage:/var/lib/grafana
expose:
- 3000
networks:
- ${LOKI_NETWORK}
- ${PROXY_NETWORK}
loki:
image: ${LOKI_IMAGE}
container_name: ${LOKI_CONTAINER_NAME}
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.loki.entrypoints=https"
- "traefik.http.routers.loki.rule=Host(`loki.${HOST}`)"
- "traefik.http.routers.loki.tls=true"
- "traefik.http.routers.loki.tls.certresolver=letsEncrypt"
- "traefik.http.routers.loki.middlewares=loki-auth"
- "traefik.http.services.loki-service.loadbalancer.server.port=3100"
- "traefik.http.middlewares.loki-auth.basicauth.users=${BASIC_AUTH_USER}:${BASIC_AUTH_TOKEN}"
- "traefik.docker.network=${PROXY_NETWORK}"
command: -config.file=/etc/loki/local-config.yaml
volumes:
- ./data/loki-storage:/loki
- ./configs/loki-configs/local-config.yaml:/etc/loki/local-config.yaml
expose:
- 3100
networks:
- ${LOKI_NETWORK}
- ${PROXY_NETWORK}
2024-12-09 21:39:26 +08:00
otel-collector:
image: ${OTEL_IMAGE}
container_name: ${OTEL_CONTAINER_NAME}
hostname: ${OTEL_CONTAINER_NAME}
command: ["--config=/etc/otel-collector-config.yaml"]
volumes:
- ./configs/otel-collector/config.yaml:/etc/otel-collector-config.yaml
ports:
# - "8888:8888" # Prometheus metrics exposed by the collector for scrape
- "8889:8889" # Prometheus exporter metrics
- "13133:13133" # health_check extension
- "4317:4317" # OTLP gRPC receiver
- "4318:4318" # OTLP http receiver
# - 55679:55679 # zpages extension
prometheus:
image: ${PROMETHEUS_IMAGE}
container_name: ${PROMETHEUS_CONTAINER_NAME}
hostname: ${PROMETHEUS_CONTAINER_NAME}
volumes:
- ./configs/prometheus/:/etc/prometheus/
- ./prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
# - '--enable-feature=otlp-write-receiver'
ports:
- 9090:9090
networks:
${LOKI_NETWORK}:
name: ${LOKI_NETWORK}
${PROXY_NETWORK}:
name: ${PROXY_NETWORK}