Prometheus is the metrics and alert-evaluation engine for Smithflix. It scrapes internal infrastructure and curated blackbox targets, evaluates platform alert rules, and forwards alerts to Alertmanager.
This page documents the prometheus service. It does not replace the Alertmanager or Promtail pages.
- Container:
prometheus
- Image:
prom/prometheus:latest
- Stack: Logs Stack
- Compose path:
/opt/stacks/logs/compose.yaml
- Docker network:
logs_loki
- Restart policy:
unless-stopped
- No container healthcheck is configured as of
2026-04-07
- No host port is published; the service is internal to the logs stack
¶ Config and Data Paths
- Main config:
/srv/docker/prometheus/prometheus.yml
- Alert rule directory:
/srv/docker/prometheus/rules
- Current platform rule file:
/srv/docker/prometheus/rules/platform.yml
- TSDB data directory:
/srv/docker/prometheus/data
- Retention flag:
--storage.tsdb.retention.time=30d
- Internal service address:
http://prometheus:9090 on logs_loki
- Container port
9090/tcp is present but not bound to the host
- No public proxy hostname was verified on
2026-04-07
¶ Authentication and Secret Locations
- No separate Prometheus credential file or public auth surface was verified on
2026-04-07
- Alert fanout is configured in
prometheus.yml to target alertmanager:9093
- Treat Prometheus as an internal control-plane service rather than a user-facing endpoint
- The current scrape config covers Prometheus, Loki, Promtail, Grafana, node-exporter, cadvisor, network-exporter, and curated internal and external blackbox probes
- Internal blackbox targets currently include Dockge, Pi-hole, Home Assistant, Jellyfin, Jellyseerr, Radarr, Sonarr, Prowlarr, Deluge, Bazarr, SABnzbd, Immich, Duplicati, and Pelican
- External blackbox targets currently include
logs.better-than.tv, manage.better-than.tv, smithflix.better-than.tv, requests.better-than.tv, photos.better-than.tv, pelican.better-than.tv, and node.better-than.tv
- If monitoring coverage changes, update
prometheus.yml, platform.yml, and the relevant service page in the same turn
¶ Monitoring and Logs
- Docker logging driver is
json-file
- Recent logs showed normal head GC, WAL checkpointing, and block compaction activity
- Because Prometheus has no container healthcheck, a running container alone is not sufficient proof that scrapes and alert evaluations are healthy
- Use the internal service or Grafana integrations to verify current target and rule state after changes
¶ Backup and Restore
/srv/docker/prometheus is in the documented Duplicati scope because it lives under /srv/docker
- Restore should preserve
prometheus.yml, the rules directory, and the TSDB data directory together
- The compose definition lives in
/opt/stacks/logs/compose.yaml
¶ Failure Modes and Recovery
- A valid-looking container can still be unhealthy at the monitoring level if scrapes fail or alert rules stop loading
- Stale or incomplete blackbox target lists create blind spots even when Prometheus itself is healthy
- Rule changes in
platform.yml can change paging severity across the household, so treat them as high-impact configuration