umami

From public sources

Umami is a privacy-first web analytics app that tracks traffic, campaigns, behavior and conversions without cookies, self-hosted or in the cloud.

ApplicationCategory: Web Apps · Web analyticsOpen sourcedata checked Oct 15, 2026

Overview

Website owners often need to know where visitors come from, what they do and which campaigns convert, but many analytics tools rely on cookies and collect more personal data than they need. Umami is a privacy-first analytics platform that brings traffic, campaigns, behavior, conversions and revenue into one dashboard without cookies or surveillance. Umami is built with Node.js and PostgreSQL. You can install it from source with pnpm, run it with Docker or Docker Compose, or use the hosted cloud version. The application runs on your own server and can be served behind a reverse proxy such as nginx. Optional settings let you change the API base path and enable two-factor authentication. An MCP endpoint can be turned on to connect AI agents to your analytics through API keys. Umami is released under the MIT license and is aimed at developers, site owners and teams who want an open-source alternative to Google Analytics that keeps their data under their control.
  • analytics
  • audience-segmentation
  • charts
  • cohort-analysis
  • google-analytics
  • privacy
  • product-analytics
  • statistics
  • user-journey
  • web-analytics

Installation

Commands are shown, never run by the marketplace. Check them against the official documentation.
  • Official websiteFrom public sourcesfrom catalog metadata
    umami.is/ ↗
  • Language package registrynodejsFrom public sourcesfrom the package manifest — publication on the registry is not verified
    npm install -g umami

    Not verified: check that this package in the registry belongs to this project before installing.

    www.npmjs.com/package/umami ↗
  • Build from sourceFrom public sourcesfrom catalog metadata

    Build from source: no validated build recipe — follow the repository instructions.

    github.com/umami-software/umami ↗

Compatibility

Unknown means no evidence was found — not that the product is incompatible.
PlatformStatusArchitectureEvidenceConfidence
Web browserCompatible—Declared on the card—
Server / self-hostedUnknown———
Container (OCI)Unknown———
Node.jsCompatible—package manifest: package.json name0.60

Releases

checked Oct 29, 2026
v3.4.1LatestOct 23, 2026Official source ↗

Files in 3.4.1

This release has no attached files.

Release history

Quality profile

algorithm quality-v1.0 · assessed Oct 15, 2026
Quality Score100
Risk Score0
Confidence 1.00
Quality Score and Risk Score are different measures. A high score does not guarantee safety.

Score components

Maintenance · 2020
last activity 1 days ago
Documentation · 1515
README 5205 chars, description present
Ready to use · 1515
install instructions: yes; releases: yes
Metadata · 1010
4/4 of description, homepage, license, topics
Releases · 1010
10 release(s), latest 29 days ago
Category confidence · 1010
classifier confidence 1
Adoption · 1010
39399 stars (log-dampened, 10k = max)
License clarity · 55
SPDX MIT
Community · 55
issues enabled, 8321 forks

License

MIT
Known licensefrom the repository host

This is the catalog policy status, not legal advice.

Sources

github.com/umami-software/umamiPrimary★ 39,399 starslast activity Oct 15, 2026Primary repository · Confidence 1.00

Reviews

Sign in to write a review

No reviews yet.

Alternatives

README

From umami-software/umami · license MIT · fetched Oct 29, 2026

🚀 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

Open the repository ↗