- docker-compose: use ${HOME}/.timmy instead of ~/.timmy (Docker doesn't expand tilde)
- exporter: start HTTP server BEFORE first collection (so /metrics is always available)
- exporter: add startup diagnostics (data dir check, Gitea reachability)
- exporter: fix agent PR counting that would crash on _value access
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
# Timmy Telemetry Stack — Sovereign Monitoring
|
|
# Deploy on Hermes (Mac M3 Max) alongside Ollama + Huey
|
|
#
|
|
# cd ~/.timmy/timmy-telemetry && docker compose up -d
|
|
#
|
|
# Grafana: http://localhost:3033 (admin / timmy)
|
|
# Prometheus: http://localhost:9090
|
|
# Exporter: http://localhost:9101/metrics
|
|
|
|
services:
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
container_name: timmy-prometheus
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9090:9090"
|
|
volumes:
|
|
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- prometheus-data:/prometheus
|
|
command:
|
|
- "--config.file=/etc/prometheus/prometheus.yml"
|
|
- "--storage.tsdb.retention.time=90d"
|
|
- "--web.enable-lifecycle"
|
|
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: timmy-grafana
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3033:3000"
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=admin
|
|
- GF_SECURITY_ADMIN_PASSWORD=timmy
|
|
- GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/var/lib/grafana/dashboards/sovereignty.json
|
|
volumes:
|
|
- ./grafana/provisioning:/etc/grafana/provisioning:ro
|
|
- ./grafana/dashboards:/var/lib/grafana/dashboards:ro
|
|
- grafana-data:/var/lib/grafana
|
|
|
|
exporter:
|
|
build: ./exporter
|
|
container_name: timmy-exporter
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9101:9101"
|
|
volumes:
|
|
- ${TIMMY_HOME:-${HOME}/.timmy}:/data/timmy:ro
|
|
- ${HERMES_HOME:-${HOME}/.hermes}:/data/hermes:ro
|
|
environment:
|
|
- GITEA_URL=http://143.198.27.163:3000
|
|
- GITEA_TOKEN=${GITEA_TOKEN:-130c3811bf4bae84a724cc165d677573d0f89636}
|
|
- TIMMY_DATA=/data/timmy
|
|
- HERMES_DATA=/data/hermes
|
|
|
|
volumes:
|
|
prometheus-data:
|
|
grafana-data:
|