Umami is a modern, privacy-focused analytics platform. An open-source alternative to Google Analytics, Mixpanel and Amplitude. https://umami.is
  • TypeScript 96.5%
  • JavaScript 2.8%
  • CSS 0.6%
  • Dockerfile 0.1%
Find a file
2026-06-24 14:58:05 -04:00
.github Merge pull request #4292 from umami-software/blacksmith-migration-c0ea3ae 2026-06-03 23:47:25 -04:00
db heatmap migration/code clean-up 2026-06-23 15:01:00 -07:00
docker Updated nextjs. Changed middleware to proxy. 2026-04-15 18:25:14 -07:00
podman Add configurable internal API URL 2026-05-09 01:06:52 -07:00
prisma heatmap migration/code clean-up 2026-06-23 15:01:00 -07:00
public implement session replay filters 2026-06-17 11:38:57 -07:00
scripts fix semver error 2026-06-23 11:50:19 -07:00
src remove shouldSkipSnapshot rule 2026-06-23 15:10:27 -07:00
tests/e2e Migrate test suite from Cypress and Jest to Playwright and Vitest 2026-05-09 01:23:20 -07:00
.dockerignore chore: exclude seed scripts from Docker builds 2025-12-02 20:25:25 +03:00
.gitignore Migrate test suite from Cypress and Jest to Playwright and Vitest 2026-05-09 01:23:20 -07:00
app.json Changed HASH_SALT to APP_SECRET. 2022-12-27 21:38:23 -08:00
biome.json Bump version 3.0.2. 2025-12-03 23:01:22 -08:00
CONTRIBUTING.md Add CONTRIBUTING.md. 2026-05-01 15:34:07 -07:00
docker-compose.yml Added check for REDIS_URL. Closes #3677. 2025-11-10 21:08:55 -08:00
Dockerfile Align Docker image Prisma version with package.json 2026-06-19 20:49:47 -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 Revert to external API url. 2026-06-04 17:32:25 -07:00
package.components.json Responsive everything. 2025-10-16 02:42:13 -07:00
package.json remove R2/Playwright packages 2026-06-23 15:19:27 -07:00
playwright.config.ts Update test tooling dependencies 2026-05-18 16:43:15 -07:00
pnpm-lock.yaml remove R2/Playwright packages 2026-06-23 15:19:27 -07:00
pnpm-workspace.yaml Include all non-dist packages in the pnpm workspace 2026-06-24 11:28:11 -07:00
postcss.config.js Switched to type: module. 2025-04-29 14:36:52 -07:00
prisma.config.ts Updated prisma. 2025-11-21 21:35:11 -08:00
README.md Merge branch 'analytics' into dev 2026-06-02 20:22:32 -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 Switched to type: module. 2025-04-29 14:36:52 -07:00
tsconfig.json Migrate test suite from Cypress and Jest to Playwright and Vitest 2026-05-09 01:23:20 -07:00
tsconfig.prisma.json Fixed outputs. 2025-09-01 16:17:55 -07:00
tsup.config.js Export metrics components. 2025-09-03 17:16:03 -07:00
vitest.config.ts Migrate tests to Vitest 2026-05-14 22:05:34 -07:00

Umami Logo

Umami

Umami is a simple, fast, privacy-focused alternative to Google Analytics.

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.

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