Monitoring, checked 2026-09-07

Uptime Kuma: Docker configuration reference

Self-hosted uptime monitor with a websocket dashboard, SQLite or MariaDB storage and around 100 notification providers.

At a glance

Ports

Ports
PortWhat listensSource
3001HTTP listener for the dashboard and the socket.io connection the UI runs on. Route the proxy here.source for port 3001

Environment variables

Environment variables
VariableRequiredWhat it doesExampleSource
UPTIME_KUMA_PORTNoPort the server binds. Resolution order in config.js is the CLI flag, then this, then PORT, then 3001.3001source for UPTIME_KUMA_PORT
UPTIME_KUMA_HOSTNoAddress the server binds. Falls back to HOST, except on FreeBSD where HOST is ignored.0.0.0.0source for UPTIME_KUMA_HOST
UPTIME_KUMA_WS_ORIGIN_CHECKNoWebsocket origin policy. Defaults to cors-like. Setting it to bypass disables the check and logs a warning.cors-likesource for UPTIME_KUMA_WS_ORIGIN_CHECK
UPTIME_KUMA_DISABLE_FRAME_SAMEORIGINNoDrops the SAMEORIGIN frame restriction so the dashboard can be embedded in another page.1source for UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN
UPTIME_KUMA_SSL_KEYNoServes TLS from the container itself. Not needed when a reverse proxy already terminates TLS./app/data/ssl/key.pemsource for UPTIME_KUMA_SSL_KEY
UPTIME_KUMA_CLOUDFLARED_TOKENNoStarts the bundled cloudflared tunnel with this token instead of exposing the port.eyJhIjoi...source for UPTIME_KUMA_CLOUDFLARED_TOKEN

Volumes that must persist

Volumes
PathWhat is in itSource
/app/dataDatabase, uploaded icons and TLS material. Lose this and every monitor, notification and history is gone.source for /app/data

Behind a reverse proxy

What it needs alongside it

Dependencies
DependencyWhySource
None for the default installStorage is SQLite inside the data volume. MariaDB is optional and chosen during first-run setup on the 2.x line.source for None for the default install

Release timeline

Releases
VersionDateBreakingWhat changedSource
2.5.32026-08-22NoCorrects a wrong version number shipped in 2.5.1. Read the 2.5.1 notes for what actually changed.source for release 2.5.3
2.5.22026-08-22NoFixes a broken non-Docker installation introduced in 2.5.1.source for release 2.5.2
2.5.12026-08-22NoAdds SMS Gateway, ClickUp and TurboSMTP notification providers.source for release 2.5.1
2.5.02026-08-01NoAdds the next-rootless image tag and allows check intervals longer than the previous 24 day ceiling.source for release 2.5.0
2.4.02026-05-31NoAdds incidents to the RSS feed and several notification providers.source for release 2.4.0
2.3.22026-05-03NoReverts SQLite from multiple connections back to a single connection by default.source for release 2.3.2

If it is not coming up

Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-09-07. Every row links the page it came from. Upstream changes without telling anyone, so check the source link before you rely on a value.

Other app references

All app references