Skip to content

Command Palette

Search for a command to run...

Self-host Prometheus

Observability
prices 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:9090

What 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