
Umami
Privacy-first web analytics you can self-host or use in the cloud, without cookies.
- Stars
- 39.9k
- Forks
- 8.5k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 4 days ago
- Type
- App
What it is
Umami is a web and product analytics platform that shows traffic, campaigns, user behavior, conversions, and revenue in one dashboard. It is designed to avoid cookies and tracking that identifies individual visitors. You can run it on your own server or use the hosted cloud version.
- Track page views and visitor traffic on a website
- Measure which marketing campaigns bring conversions
- Review user behavior and journeys across pages
- Monitor revenue alongside traffic data
Great for
- Website owners who want traffic stats without a cookie banner
- Teams that want to keep visitor data on their own server
- Developers comfortable running a Node.js app with PostgreSQL
- Marketers tracking campaigns and conversions in one place
Not ideal for
- People who need zero server setup and do not want to run anything: the README's install path requires Node.js and PostgreSQL, though a cloud option exists
- Users who need a MySQL or other database: the README only lists PostgreSQL requirements
- Teams needing a detailed feature list beyond the README: the truncated README gives limited feature detail
How to get it
- 1
Run with Docker
You'll need: Node.js 18.18+ · PostgreSQL 12.14+ · pnpm (for source install) · Docker (for Docker install)
Get the source and install packages
git clone https://github.com/umami-software/umami.gitInstall dependencies
pnpm installBuild the application
pnpm run buildStart the application
pnpm run start - 2
Run it
- Create a .env file with DATABASE_URL pointing to your PostgreSQL database
- Run pnpm run build to create database tables and the default admin login
- Run pnpm run start
- Open http://localhost:3000 and log in, then change the default password
- 3
Get the most out of it
- Set API_URL to change the base URL used by internal UI API calls
- Set TWO_FACTOR_ENCRYPTION_KEY to enable two-factor authentication
- Set MCP_ENABLED=1 and create an API key under Settings to use the /mcp endpoint
- Put the app behind a reverse proxy such as nginx to serve it on a public domain
Downloads
Strengths
- Privacy-focused design that the README says uses no cookies
- Self-hostable or available as a cloud service
- MIT licensed and actively maintained, with a large community
Trade-offs
- Self-hosting requires Node.js 18.18+ and PostgreSQL 12.14+, so it is not a one-click setup from source
- The build step creates a default admin login with a well-known password that must be changed
- Two-factor authentication and the MCP endpoint need extra configuration
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| umami (this) | 39.9k | App | intermediate | 4 days ago | Website owners who want traffic stats without a cookie banner |
| goaccess | 21.1k | App | intermediate | 9 days ago | System administrators who want quick traffic stats over SSH |
| uPlot | 10.6k | Library | intermediate | 6 days ago | Web developers who need a fast chart for large time series data |
| dashboards | 11k | Library | intermediate | 5.0 years ago | Developers who need a starting layout for an internal analytics dashboard |
| duckdb | 42.7k | Library | beginner | 4 days ago | Analysts who want to run SQL directly on CSV, Parquet, or JSON files |
| awesome-datascience | 30.3k | Curated list | beginner | 5 days ago | Beginners who want a guided set of links to start learning data science |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.