Self-host Prometheus
Observabilitydeployed & timed by usprices checked · Jul 2026
The de facto open-source metrics time-series database and alerting engine, scraping targets over HTTP and powering most self-hosted dashboarding stacks.
Datadog / yr$180
Self-hosted / yr~$55
You keep$125/yr
Key facts
CategoryObservability
LicenseApache-2.0
StackGo
Min RAM2048 MB
Dockeryes
Difficulty
Our recommendation
Pick Prometheus when you want the de facto standard for metrics collection and alerting — pull-based scraping, PromQL, and an ecosystem every exporter and dashboard already speaks. It's metrics only, not logs or traces, so pair it with Grafana for dashboards and Loki or another tool if you need logs too.
What you need
- Any VPS with at least 2048 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- Under an hour if you've used Docker before
Install with Docker Compose
Save this as compose.yml and run docker compose up -d:
# Prometheus — official Docker image
docker run -d --name prometheus -p 9090:9090 -v $PWD/prometheus.yml:/etc/prometheus/prometheus.yml -v prometheus-data:/prometheus prom/prometheus
# → http://SERVER_IP:9090What you take on
Prometheus is mature and well-understood, with a couple of operational realities worth planning for:
non-negotiableLocal storage isn't built for long retention. The default TSDB is fine for weeks, not years — reach for Thanos or Mimir if you need long-term or multi-cluster storage.
non-negotiableIt's metrics-only. There's no log or trace storage here — Prometheus is one piece of a stack, not the whole thing.
non-negotiableScrape targets need service discovery at scale. A handful of static targets is trivial; dozens of dynamic containers means setting up discovery (Docker, Kubernetes, file-based) properly.
An alternative to
More in Observability
ObservabilityGrafana
GoTypeScript
easyRead guide →
ObservabilityGraylog
JavaMongoDBOpenSearch
hardRead guide →
ObservabilityNetdata
C
easyRead guide →
ObservabilityOpenObserve
Rust
easyRead guide →