Umami is a modern, privacy-focused alternative to Google Analytics. https://umami.is
Find a file
Mike Cao 81e27fc18c
Some checks failed
Node.js CI / build (postgresql, 18.18, 10) (push) Has been cancelled
Fix formatting for Docker compose instructions
2025-12-04 00:37:13 -08:00
.github New docker workflow. 2025-11-07 22:41:10 -08:00
.husky
cypress
db
docker Reformatted files with biome. 2025-11-22 22:42:42 -08:00
podman
prisma Revert "prisma schema boards + varchar length increase" 2025-12-03 11:08:54 -08:00
public Updated prisma. 2025-11-21 21:35:11 -08:00
scripts Merge branch 'dev' into seed-sample-data 2025-12-02 23:30:47 -08:00
src Bump version 3.0.2. 2025-12-03 23:01:22 -08:00
.dockerignore chore: exclude seed scripts from Docker builds 2025-12-02 20:25:25 +03:00
.gitignore chore [#3699] : fix .gitignore syntax and untrack package-lock.json 2025-11-08 22:33:22 +01:00
.stylelintrc.json
app.json
biome.json Bump version 3.0.2. 2025-12-03 23:01:22 -08:00
cypress.config.ts
docker-compose.yml Added check for REDIS_URL. Closes #3677. 2025-11-10 21:08:55 -08:00
Dockerfile Fixed Docker build. 2025-12-03 23:53:22 -08:00
jest.config.ts
LICENSE
netlify.toml
next-env.d.ts
next.config.ts Switched to biome. 2025-11-20 20:56:16 -08:00
package.components.json
package.json Bump version 3.0.2. 2025-12-03 23:01:22 -08:00
pnpm-lock.yaml Bump version 3.0.2. 2025-12-03 23:01:22 -08:00
pnpm-workspace.yaml
postcss.config.js
prisma.config.ts Updated prisma. 2025-11-21 21:35:11 -08:00
README.md Fix formatting for Docker compose instructions 2025-12-04 00:37:13 -08:00
rollup.tracker.config.js
tsconfig.json
tsconfig.prisma.json
tsup.config.js

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

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