Umami is a modern, privacy-focused analytics platform. An open-source alternative to Google Analytics, Mixpanel and Amplitude. https://umami.is
  • TypeScript 98.7%
  • JavaScript 0.9%
  • CSS 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-16 21:02:41 -07:00
.github Fix API client path parameter handling and release version 3.4.0 2026-09-16 20:49:32 -07:00
db add CH performance projections 2026-08-03 16:51:14 -07:00
docker recorder.js CORS header implementation. Closes #4426 2026-08-04 15:34:36 -07:00
docs Route legacy report APIs through compatibility handlers 2026-09-09 23:11:55 -07:00
packages Fix API client path parameter handling and release version 3.4.0 2026-09-16 20:49:32 -07:00
podman Add configurable internal API URL 2026-05-09 01:06:52 -07:00
prisma Remove obsolete OAuth migration files 2026-09-09 15:26:29 -07:00
public Merge pull request #4495 from lukkshh/feat/georgian-translation 2026-09-10 23:06:05 -07:00
scripts Harden API test Docker setup and stabilize coverage fixtures 2026-09-11 19:22:28 -07:00
src Fix API client path parameter handling and release version 3.4.0 2026-09-16 20:49:32 -07:00
tests Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-09-11 21:33:38 -07:00
.dockerignore Harden API test Docker setup and stabilize coverage fixtures 2026-09-11 19:22:28 -07:00
.gitignore Generate OpenAPI field descriptions and validate generated clients in CI 2026-09-07 17:30:56 -07:00
app.json Changed HASH_SALT to APP_SECRET. 2022-12-27 21:38:23 -08:00
biome.json Add OpenAPI schema generation and validation for API routes 2026-08-31 19:37:37 -07:00
CONTRIBUTING.md Add CONTRIBUTING.md. 2026-05-01 15:34:07 -07:00
dependabot-review.md Update dependencies and add security overrides 2026-09-11 20:39:58 -07:00
docker-compose.test.yml Gate MCP endpoint behind MCP_ENABLED flag 2026-09-09 15:24:51 -07:00
docker-compose.yml fix(2fa): gate two-factor auth when the encryption key is missing 2026-08-13 22:39:31 +05:30
Dockerfile Upgrade pnpm and refresh core React dependencies 2026-09-11 22:00:45 -07:00
LICENSE Updated packages. 2022-12-26 20:50:55 -08:00
netlify.toml Adds @netlify/plugin-nextjs package & fixed dashboard link id 2022-10-25 15:01:49 +01:00
next.config.ts Route legacy report APIs through compatibility handlers 2026-09-09 23:11:55 -07:00
package.components.json Responsive everything. 2025-10-16 02:42:13 -07:00
package.json Fix API client path parameter handling and release version 3.4.0 2026-09-16 20:49:32 -07:00
playwright.api.config.ts Run API tests serially and support external targets without stale coverage logs 2026-09-06 20:11:15 -07:00
playwright.config.ts Update test tooling dependencies 2026-05-18 16:43:15 -07:00
pnpm-lock.yaml Update annotation date picker and place annotation actions beside chart legend 2026-09-13 22:30:30 -07:00
pnpm-workspace.yaml Update dependencies and add security overrides 2026-09-11 20:39:58 -07:00
postcss.config.js Update dependencies and add security overrides 2026-09-11 20:39:58 -07:00
prisma.config.ts Updated prisma. 2025-11-21 21:35:11 -08:00
README.md Gate MCP endpoint behind MCP_ENABLED flag 2026-09-09 15:24:51 -07:00
rollup.recorder.config.js Hardcode recorder API endpoints in build and runtime 2026-06-15 14:50:13 -07:00
rollup.tracker.config.js Convert tracker build to TypeScript and add type checks 2026-07-19 22:04:49 -07:00
tsconfig.json Add API integration test suite with Postgres and ClickHouse coverage 2026-09-06 16:42:53 -07:00
tsconfig.prisma.json Fixed outputs. 2025-09-01 16:17:55 -07:00
tsconfig.tracker.json Convert tracker build to TypeScript and add type checks 2026-07-19 22:04:49 -07:00
tsconfig.tracker.types.json Convert tracker build to TypeScript and add type checks 2026-07-19 22:04:49 -07:00
tsup.config.js Export metrics components. 2025-09-03 17:16:03 -07:00
vercel.json Upgrade pnpm and refresh core React dependencies 2026-09-11 22:00:45 -07:00
vitest.config.ts Add API integration test suite with Postgres and ClickHouse coverage 2026-09-06 16:42:53 -07:00

Umami Logo

Umami

Umami is a privacy-first analytics platform. Traffic, campaigns, behavior, conversions, and revenue in one place — no cookies, no surveillance, self-hosted or in the cloud.

GitHub Release MIT License Build Status Umami Demo


🚀 Getting Started

A detailed getting started guide can be found at umami.is/docs.


🛠 Installing from Source

Requirements

  • A server with Node.js version 18.18+.
  • A PostgreSQL database version v12.14+.

Get the source code and install packages

git clone https://github.com/umami-software/umami.git
cd umami
pnpm install

Configure Umami

Create an .env file with the following:

DATABASE_URL=connection-url

Optional: set API_URL to change the base URL used by internal UI API calls. Relative paths are served under BASE_PATH; absolute URLs are proxied through the local /api route. For example, API_URL=/internal-api or API_URL=https://api.example.com/api.

Optional: set TWO_FACTOR_ENCRYPTION_KEY to a 64-character hex string to enable two-factor authentication. Generate one with openssl rand -hex 32. Two-factor authentication is unavailable and cannot be required until this key is set.

MCP is disabled by default. Set MCP_ENABLED=1 to enable the /mcp endpoint, then authenticate with an API key generated under Settings → API keys.

The connection URL format:

postgresql://username:mypassword@localhost:5432/mydb

Build the Application

pnpm run build

The build step will create tables in your database if you are installing for the first time. It will also create a login user with username admin and password umami.

Start the Application

pnpm run start

By default, this will launch the application on http://localhost:3000. You will need to either proxy requests from your web server or change the port to serve the application directly.


🐳 Installing with Docker

Umami provides Docker images as well as a Docker compose file for easy deployment.

Docker image:

docker pull docker.umami.is/umami-software/umami:latest

Docker compose (Runs Umami with a PostgreSQL database):

docker compose up -d

🔄 Getting Updates

To get the latest features, simply do a pull, install any new dependencies, and rebuild:

git pull
pnpm install
pnpm build

To update the Docker image, simply pull the new images and rebuild:

docker compose pull
docker compose up --force-recreate -d

🛟 Support

GitHub Twitter LinkedIn Discord