91 lines
2.6 KiB
YAML
91 lines
2.6 KiB
YAML
# =============================================================================
|
|
# TELEMETRY OFFLINE - AIR-GAPPED OBSERVABILITY
|
|
# =============================================================================
|
|
# Offline-compatible telemetry stack for air-gapped deployments.
|
|
# Does not require external connectivity.
|
|
#
|
|
# Usage:
|
|
# docker compose -f docker-compose.telemetry-offline.yml up -d
|
|
#
|
|
# For online deployments, use docker-compose.telemetry.yml instead.
|
|
# =============================================================================
|
|
|
|
services:
|
|
loki:
|
|
image: grafana/loki:3.0.1
|
|
container_name: stellaops-loki-offline
|
|
command: ["-config.file=/etc/loki/local-config.yaml"]
|
|
volumes:
|
|
- loki-data:/loki
|
|
- ../offline/airgap/observability/loki-config.yaml:/etc/loki/local-config.yaml:ro
|
|
ports:
|
|
- "${LOKI_PORT:-3100}:3100"
|
|
networks:
|
|
- sealed
|
|
restart: unless-stopped
|
|
|
|
promtail:
|
|
image: grafana/promtail:3.0.1
|
|
container_name: stellaops-promtail-offline
|
|
command: ["-config.file=/etc/promtail/config.yml"]
|
|
volumes:
|
|
- promtail-data:/var/log
|
|
- ../offline/airgap/promtail-config.yaml:/etc/promtail/config.yml:ro
|
|
networks:
|
|
- sealed
|
|
restart: unless-stopped
|
|
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector-contrib:0.97.0
|
|
container_name: stellaops-otel-offline
|
|
command: ["--config=/etc/otel/config.yaml"]
|
|
volumes:
|
|
- ../offline/airgap/otel-offline.yaml:/etc/otel/config.yaml:ro
|
|
- otel-data:/var/otel
|
|
ports:
|
|
- "${OTEL_GRPC_PORT:-4317}:4317"
|
|
- "${OTEL_HTTP_PORT:-4318}:4318"
|
|
networks:
|
|
- sealed
|
|
restart: unless-stopped
|
|
|
|
tempo:
|
|
image: grafana/tempo:2.4.1
|
|
container_name: stellaops-tempo-offline
|
|
command: ["-config.file=/etc/tempo/config.yaml"]
|
|
volumes:
|
|
- tempo-data:/var/tempo
|
|
- ../offline/airgap/observability/tempo-config.yaml:/etc/tempo/config.yaml:ro
|
|
ports:
|
|
- "${TEMPO_PORT:-3200}:3200"
|
|
networks:
|
|
- sealed
|
|
restart: unless-stopped
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v2.51.0
|
|
container_name: stellaops-prometheus-offline
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--storage.tsdb.retention.time=15d'
|
|
volumes:
|
|
- prometheus-data:/prometheus
|
|
- ../offline/airgap/observability/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
ports:
|
|
- "${PROMETHEUS_PORT:-9090}:9090"
|
|
networks:
|
|
- sealed
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
sealed:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
loki-data:
|
|
promtail-data:
|
|
otel-data:
|
|
tempo-data:
|
|
prometheus-data:
|