LibrePortal
Sponsor
Install

Prometheus

Monitoring and Alerting

Prometheus quietly collects numbers about your server and apps every 15 seconds, like memory, disk and traffic, and keeps them so Grafana can draw them. You'll rarely open it yourself.

On this page
  1. At a glance
  2. What it's good for
  3. What it collects
  4. Adding your apps
  5. Looking at the data
  6. Good to know
  7. Addresses and ports
  8. Settings
  9. In its config file
  10. Works with
  11. Privacy and security
  12. What leaves this server
  13. What LibrePortal turns off
  14. Sources
  15. Under the hood

At a glance#

What it is
Monitoring and Alerting Monitoring
Where it opens
Web Interface On its own port at http://your-server:port, or prometheus.your-domain once you have a domain
Updates
Automatic A backup is taken first, and it rolls back if the update fails
Backups
Included Part of the daily backup when that's switched on
Copies
As many as you like Run several copies, each with its own data

What it's good for#

Prometheus is the part of a monitoring setup that nobody looks at. Every 15 seconds it asks your server and your apps how they're doing (how much memory and processor they use, how full the disks are, how much traffic goes in and out) and writes the answers down. Keep that up for a few weeks and you can answer questions like "when did the disk start filling up?" or "which app ate all the memory on Tuesday night?"

It's paired with Grafana, which turns those numbers into dashboards. Grafana won't install until Prometheus is there, because it would have nothing to show. If you only want to know whether each app is up, Uptime Kuma is the simpler tool; Prometheus and Grafana are for how well things are running, over time.

What it collects#

Out of the box, with nothing to switch on, Prometheus collects three things:

  • The server itself: processor, memory, disks and network. A small companion called node-exporter reads these.
  • Every container: how much processor, memory and network each part of each app uses. Another companion, cAdvisor, reads these.
  • Prometheus itself, so you can tell if it's struggling.

Adding your apps#

Some apps can report their own, more detailed numbers too: Traefik's requests and errors, for example, or AdGuard Home's and Unbound's DNS queries. Each of those has an Export metrics to Grafana switch in its settings, which can be turned on once Prometheus and Grafana are both installed.

Turn it on for an app and LibrePortal does the rest: it tells Prometheus to collect from that app and gives Grafana a dashboard for it. Turn it off and both go away again. Prometheus's Works with row says how many apps it's collecting from, and each app's own row says whether its metrics are being collected.

Looking at the data#

Grafana is the place to look. Prometheus's own Web Interface is handy for checking things work, though. Its Status → Targets page lists everything it collects from and whether each one answered the last time it asked. A target marked down usually means that app is stopped.

Good to know#

  • It's private. Prometheus has no login, and its page shows every number it collects about your server and apps. So from 0.4.7 it installs Private, reachable only from your trusted places. Grafana reaches it over LibrePortal's internal network, so it keeps working whatever you choose here.
  • Installed with 0.4.6 or earlier? Then it started Public, and an update doesn't change that. Open Prometheus's Network tab, choose Private under Who can reach it, and press Apply.
  • It keeps 15 days. That's Prometheus's own default, and LibrePortal doesn't change it. Older data is dropped as new data comes in, so its disk use levels off rather than growing for ever.
  • The companions look at the whole machine. node-exporter reads the host's filesystems and cAdvisor reads Docker's, both read-only. That's how they see the server rather than just their own container.
  • Updates are automatic, and it's included in backups.

Addresses and ports#

Prometheus has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one.

What it isWho can reach itWith a domain
Web Interface Trusted places only prometheus.your-domain

Settings#

In its config file#

Prometheus's own settings aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.

SettingWhat it doesStarts as
Name
CFG_PROMETHEUS_DISPLAY_NAME
What this app is called on your dashboards. Leave empty to use its usual name Empty
Show on the LibrePortal Dashboard
CFG_PROMETHEUS_SHOW_ON_DASHBOARD
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard
Choices: true, false
false
Detailed logs
CFG_PROMETHEUS_VERBOSE_LOGS
Whether Prometheus writes its normal, chattier logs, including who connected, instead of only warnings and errors.
Choices: true, false
false
Debug logging for 24 hours
CFG_PROMETHEUS_DEBUG_LOGS
Turn on to see everything Prometheus is doing while you look for a problem; it turns itself off after 24 hours.
Choices: true, false
false

Works with#

These are the other apps Prometheus knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.

  • App metrics: Collects metrics from the apps that can export them. LibrePortal sets this up by itself when both are installed.
    Every app you install
  • Grafana: Shows dashboards for the apps that have one. works with every app
  • Grafana: Reads what Prometheus collects.
  • Home Assistant: Prometheus collects Home Assistant's sensor history.
  • Uptime Kuma: Watches your apps and shows when one goes down. works with every app

Privacy and security#

All clear Prometheus measures your own server and stores the numbers locally. It sends nothing out, and it has no login, so it stays private.

What leaves this server#

Nothing leaves this server on its own.

What LibrePortal turns off#

Nothing needed switching off.

Licence: Apache-2.0 (all three). Audited: 21 October 2026. See the privacy of every app and the Promise.

Sources#

Under the hood#

  • It runs these images: prom/prometheus:v3.15.0@sha256:efd719c99d83b060d9daefdcf00360461adf279f45ef5391f8d111892118753e, prom/node-exporter:v1.12.1@sha256:1b4e4438faca4dd7e001dd445d161a4a2091b0fededa84093b3a8dfeae1f1be0, gcr.io/cadvisor/cadvisor:v0.55.1@sha256:3de2bd5203120b866d74a9b283b2ffb8ec382fbf9dc321814700c6ea6f44ec57.
  • It can sit behind Authelia's sign-in once Authelia is installed.
  • Its own project and documentation: github.com/prometheus/prometheus

Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.

Next steps