Umami Analytics VPS

Umami and PostgreSQL in Docker, with Umami's default admin password replaced before anyone can reach it. You log in through an SSH tunnel, give it a domain with one command, and add the script to your sites.

Who it suits

Site owners who want light, privacy-friendly statistics for a few sites without a ClickHouse database to look after. Plausible CE is the alternative with a heavier stack; Umami Cloud is the managed version of Umami.

Which plan

Budget (2 GB) is enough for Umami and PostgreSQL with modest traffic. Umami publishes no minimum; a busy site grows the database, so watch disk and memory and move up when PostgreSQL wants more.

What we install

Umami is open-source web analytics: page views, referrers, devices and custom events, without cookies. We run the compose setup from Umami's repository (Umami's image and postgres:15-alpine) in /opt/umami with generated secrets, and change the default admin password through Umami's API; the new one is in /root/umami-admin.txt.

$ apt Debian family (apt)
  • jq
  • docker-ce
  • docker-ce-cli
  • containerd.io
  • docker-buildx-plugin
  • docker-compose-plugin
$ dnf Red Hat family (dnf)
  • jq
  • docker-ce
  • docker-ce-cli
  • containerd.io
  • docker-buildx-plugin
  • docker-compose-plugin

From order to ready

  1. Server ready. We email you when the server is running, and you can log in with SSH. The installer starts on that same first boot.
  2. Installer running. It logs to /var/log/vps9-setup.log; tail -f it to watch.
  3. Application ready. /var/lib/vps9-setup.exit appears when the installer has finished, holding 0 if it worked. Umami is ready when curl http://127.0.0.1:3000/api/heartbeat answers on the server and the login in /root/umami-admin.txt works.

What you still do

  1. From your computer, run ssh -L 3000:127.0.0.1:3000 root@<your IPv4>, open http://localhost:3000 and log in as admin with the password from cat /root/umami-admin.txt.
  2. Point a domain such as stats.example.com at the server, allow ports 80 and 443 in the panel firewall, and run vps9-https stats.example.com.
  3. Add your website in Umami and paste its tracking script into your pages.

Exposure and security

Umami ships with the login admin / umami. The installer changes that password through Umami's API while Umami is only reachable on 127.0.0.1:3000, so the default never faces the internet, and Umami has no public sign-up. vps9-https puts Caddy on 80 and 443 for your domain, which the tracking script needs.

Backups and upgrades

Update with cd /opt/umami && docker compose pull && docker compose up -d after reading the release notes. We turn on the operating system's automatic security updates. Back up the database with docker compose exec db pg_dump -U umami umami and copy the dump and /opt/umami/.env off the server. We run the hardware, the network and the first-boot install; after that, Umami is yours to run, and we don't manage, update or back it up for you.

Umami questions

Umami or Plausible?

Both count visits without cookies. Umami runs on PostgreSQL alone and fits the Budget plan; Plausible CE adds ClickHouse for its events, needs Standard, and has more reports built in. Pick Umami for a few small sites, Plausible for heavier traffic or its reports.

Do ad blockers block Umami?

Some block the default script name. Umami can serve its script and collection endpoint under other names with its TRACKER_SCRIPT_NAME and COLLECT_API_ENDPOINT settings; add them to the umami service in /opt/umami/compose.yaml.

Can one Umami track several sites?

Yes. Add each website in Umami's settings; each gets its own tracking script and dashboard, and you can share a read-only link to any of them.

Order it from your terminal

$ vps9
$ vps9 servers create --plan budget --image ubuntu-24.04 --app umami --hostname web-1 --key key_8f2c
POST /api/v1/servers
{
  "plan": "budget",
  "image": "ubuntu-24.04",
  "hostname": "web-1",
  "app": "umami"
}

Be first when orders open

Join the waitlist and we'll send you one email when VPSNine launches. Pick a plan if you already know which one you want, and we'll size the first servers around it.

  • One email, on launch day
  • Monthly or yearly, no lock-in
  • 14-day money-back guarantee