107 lines
3.0 KiB
YAML
107 lines
3.0 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
grafana:
|
|
image: ${GRAFANA_IMAGE}
|
|
container_name: ${GRAFANA_CONTAINER_NAME}
|
|
hostname: ${GRAFANA_CONTAINER_NAME}
|
|
restart: always
|
|
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
|
|
- GF_SERVER_ROOT_URL=/grafana
|
|
# - GF_SERVE_FROM_SUB_PATH=true
|
|
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
|
|
ports:
|
|
- 3000:3000
|
|
networks:
|
|
- loki
|
|
- proxy
|
|
|
|
loki:
|
|
image: ${LOKI_IMAGE}
|
|
container_name: ${LOKI_CONTAINER_NAME}
|
|
hostname: ${LOKI_CONTAINER_NAME}
|
|
restart: always
|
|
command: -config.file=/etc/loki/local-config.yaml
|
|
volumes:
|
|
- ./data/loki-storage:/loki
|
|
- ./configs/loki-configs/local-config.yaml:/etc/loki/local-config.yaml
|
|
ports:
|
|
- 3100:3100
|
|
- 9095:9095
|
|
networks:
|
|
- loki
|
|
- proxy
|
|
|
|
|
|
prometheus:
|
|
image: ${PROMETHEUS_IMAGE}
|
|
container_name: ${PROMETHEUS_CONTAINER_NAME}
|
|
hostname: ${PROMETHEUS_CONTAINER_NAME}
|
|
restart: always
|
|
environment:
|
|
TZ: "Asia/Irkutsk"
|
|
volumes:
|
|
- ./data/prometheus-storage:/prometheus
|
|
- ./configs/prometheus-configs/prometheus.yaml:/etc/prometheus/prometheus.yaml
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yaml'
|
|
- '--storage.tsdb.retention.time=15d'
|
|
ports:
|
|
- 9090:9090
|
|
networks:
|
|
- loki
|
|
- proxy
|
|
|
|
tempo:
|
|
image: ${TEMPO_IMAGE}
|
|
container_name: ${TEMPO_CONTAINER_NAME}
|
|
hostname: ${TEMPO_CONTAINER_NAME}
|
|
user: "1000"
|
|
restart: always
|
|
volumes:
|
|
- ./config/tempo/tempo.yaml:/etc/tempo.yaml
|
|
- ./data/tempo-storage:/tmp/tempo
|
|
command:
|
|
- '--config.file=etc/tempo.yaml'
|
|
ports:
|
|
- "4317:4317" # otlp grpc.
|
|
- "3200:3200" # native port for Grafana data source
|
|
networks:
|
|
- loki
|
|
- proxy
|
|
|
|
otel-collector:
|
|
image: ${OTEL-COLLECTOR_IMAGE}
|
|
container_name: ${OTEL-COLLECTOR_CONTAINER_NAME}
|
|
hostname: ${OTEL-COLLECTOR_CONTAINER_NAME}
|
|
command:
|
|
- '--config=/etc/otel-collector-config.yaml'
|
|
volumes:
|
|
- ./configs/otel-collector-configs/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
|
|
networks:
|
|
- loki
|
|
- proxy
|
|
|
|
networks:
|
|
loki:
|
|
name: loki
|
|
proxy:
|
|
name: proxy |