94 lines
3.3 KiB
YAML
94 lines
3.3 KiB
YAML
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
|
|
- ./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}
|
|
|
|
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}
|