The docker run one-liner works today and confuses you in six months. A small compose file documents your whole install in one place — and makes updates and backups a two-minute job.
In the video, Uptime Kuma is installed with Docker on a Synology NAS. This page is the compose-based version of that install — the method worth using on any host, because everything about your setup (image, port, data location, restart behaviour) sits in one readable file you can copy, back up and reuse. If Docker itself is not installed yet, the channel has separate Docker guides for Synology, Windows and Linux — finish those first, then come back here.
👆 The whole install in one file. Copy it exactly — plain text, no smart quotes — into a file named docker-compose.yml.
uptime-kuma where the compose file will liveimage: louislam/uptime-kuma:2 — the official image, version 2 line. The project's GitHub README always shows the current recommended tag; check it if you install much latervolumes: uptime-kuma-data:/app/data — all your monitors, users and history live in this named volume. Delete the container and the data survives; delete the volume and everything is goneports: "3001:3001" — the dashboard is reachable on port 3001 of the host. To use a different outside port, change only the left number, for example "8080:3001"restart: unless-stopped — after a power cut or host reboot, Kuma starts itself again. Non-negotiable for a monitoring tooldocker compose up -dhttp://your-host-ip:3001Because your data lives in the volume and not the container, updating is safe and boring — exactly how updates should be:
docker compose pulldocker compose up -d — the container is recreated with the new image, the volume is reattached untouchedYour compose file is two minutes of typing. Your data volume holds months of monitors, notification settings and uptime history — that is what needs a backup. On Docker, the honest simple method: stop the container briefly (docker compose stop), copy the volume's data (the folder containing kuma.db) to another disk or NAS share, then start it again (docker compose start). Kuma also offers backup and restore of monitors from inside its settings — useful when moving to a new host, but keep a file-level copy as well.
Watch the video to see this same Docker install done live on Synology, with the dashboard set up straight after.
▶️ Watch Full VideoIn the /app/data folder of the container, which the compose file maps to the named volume uptime-kuma-data. Inside it, the file kuma.db holds your monitors, users and settings. Back up that data and you have backed up your whole monitoring setup.
Yes — it can run directly with Node.js and a few manual steps, and the project documents that route. Be honest with yourself about the trade-off: it is fiddly to install and update, while the Docker route is one file and one command. For almost everyone, Docker is the right choice.
Check in order: is the container actually running (docker compose ps), is the host firewall allowing port 3001, and are you using the host's current IP address? On Synology, also confirm the project shows as running in Container Manager. The container logs (docker compose logs) will say plainly if something failed at startup.