Growth Dudes
Join free

✓ VERIFIED Privacy-first No cookies Multi-site

Umami

Simple, fast, privacy-focused web analytics. A lighter alternative to Plausible with more chart types.

⏱ 15 min ◆◇◇ copy, paste, done ↺ reversible

What it does

A lightweight analytics dashboard that tracks page views, events, and sessions without cookies or personal data. Track unlimited websites from one installation. Built-in funnel and retention reports.

Why it's on the shelf

If Plausible is the analytics tool for people who want simplicity, Umami is for people who want slightly more - funnels, retention cohorts, custom events - while still being privacy-first and cookie-free. The MIT license (vs Plausible's AGPL) means you can use it in commercial products without obligation.

What it replaces

Google Analytics, Plausible, Fathom, Mixpanel. Whatever you pay for that today is what this page is here to delete. Worth being honest with yourself first though: if the bill is already small, the answer may still be that this isn't worth your Saturday.

Skip this one if... You don't want a server you're responsible for. Umami runs on your own box, which is what makes it free and what makes it yours - but it also means the backups, the updates and the 11pm restart are on you. If that's a no, close the tab; it'll cost you 15 min to find out the hard way.

Setting it up

These are the steps in order. The time on the bar above is what this took us end to end, including the reading.

  1. Install Docker on your VPS
  2. Create a docker-compose.yml with Umami + Postgres
  3. Set your database URL and a random hash salt
  4. Run docker-compose up -d
  5. Visit port 3000, log in with admin/umami, change your password

The code

The actual configuration, not a sketch of one. The highlighted lines are the ones you have to change.

What this doesUmami + Postgres. Two containers, one command.
docker-compose.yml
services:  umami:    image: ghcr.io/umami-software/umami:latest    ports: ["3000:3000"]    environment:      - DATABASE_URL=postgres://umami:pass@db:5432/umami  ← set a password      - APP_SECRET=generate-random-string  ← run: openssl rand -hex 32    depends_on: [db]  db:    image: postgres:16
Before you run this None significant. Database backups are the only maintenance item.

What it costs to run

Runs on a $5/month VPS (1GB RAM). Uses ~150MB RAM.

This keeps working without us Umami runs on your own box under the MIT, with your data in your own database. If Growth Dudes stops existing tomorrow, nothing on this page stops working. That is deliberate, and it's the only promise here we can actually keep.

Field notes

What people found when they actually ran it - dated, named and specific, including the times our setup number turned out to be optimistic.

Nobody has posted one for Umami yet.

We're not going to invent them. Run it, then tell the room what actually happened - the time you got, and the step that wasn't in the instructions.

Join and post one

NEXT

Others people run alongside it