Umami is a modern, privacy-focused alternative to Google Analytics. https://umami.is
Find a file
2025-11-10 22:19:51 +05:30
.github New docker workflow. 2025-11-07 22:41:10 -08:00
.husky Card mode for tables. 2025-10-14 13:04:14 -07:00
.kiro/specs/project-setup-and-configuration Add comprehensive setup and validation system for Umami - Create interactive setup wizard - Add setup validation script - Enhance error messages - Create SETUP.md documentation - Add .env.example template - Implement pre-flight checks - Add TypeScript types - Create tests - Update README 2025-11-10 22:19:51 +05:30
contributions Fix multiple issues: tracker multiple execution, credentials configurable, exclude-hash, and other fixes 2025-11-10 18:26:31 +05:30
cypress Add test for updating a website with only shareId 2025-08-19 14:43:42 +00:00
db update CH view to account for new event types 2025-10-02 10:18:13 -07:00
docker Updated lang files. 2025-10-06 12:11:26 -07:00
podman Fixed typo in README.md 2025-04-17 19:08:25 +02:00
prisma Merge remote-tracking branch 'origin/dev' into dev 2025-09-10 17:16:15 -07:00
public Updated lang files. 2025-10-06 12:11:26 -07:00
scripts Add comprehensive setup and validation system for Umami - Create interactive setup wizard - Add setup validation script - Enhance error messages - Create SETUP.md documentation - Add .env.example template - Implement pre-flight checks - Add TypeScript types - Create tests - Update README 2025-11-10 22:19:51 +05:30
src Fix type issues in getEventStats.ts and send/route.ts 2025-11-10 19:13:36 +05:30
.dockerignore Fixed docker build. 2025-10-06 02:12:57 -07:00
.env.example feat: add environment configuration template (.env.example) 2025-11-10 22:02:17 +05:30
.eslintignore Removed mysql schema. 2025-05-09 22:06:39 -07:00
.eslintrc.json Redesigned overview page. 2025-08-21 03:01:37 -07:00
.gitignore Merge branch 'master' into dev 2025-09-16 21:11:12 -07:00
.prettierignore Removed mysql schema. 2025-05-09 22:06:39 -07:00
.prettierrc.json Initial commit. 2020-07-17 01:03:38 -07:00
.stylelintrc.json Updated filter bar. 2025-04-02 23:18:03 -05:00
app.json Changed HASH_SALT to APP_SECRET. 2022-12-27 21:38:23 -08:00
cypress.config.ts add api-testing to cypress tests 2025-03-12 10:32:54 -07:00
docker-compose.yml Updated image tag. 2025-11-06 23:58:12 -08:00
Dockerfile Updated Dockerfile to match current Prisma version. 2025-11-03 16:54:58 -08:00
jest.config.ts Fix test. 2025-03-31 22:49:34 -05: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-env.d.ts Redesigned overview page. 2025-08-21 03:01:37 -07:00
next.config.ts Add rewrite for script in cloud mode. 2025-10-08 16:01:47 -07:00
package-lock.json Add comprehensive setup and validation system for Umami - Create interactive setup wizard - Add setup validation script - Enhance error messages - Create SETUP.md documentation - Add .env.example template - Implement pre-flight checks - Add TypeScript types - Create tests - Update README 2025-11-10 22:19:51 +05:30
package.components.json Responsive everything. 2025-10-16 02:42:13 -07:00
package.json Add comprehensive setup and validation system for Umami - Create interactive setup wizard - Add setup validation script - Enhance error messages - Create SETUP.md documentation - Add .env.example template - Implement pre-flight checks - Add TypeScript types - Create tests - Update README 2025-11-10 22:19:51 +05:30
pnpm-lock.yaml Updated lock file. 2025-10-31 00:21:02 -07:00
pnpm-workspace.yaml Replaced __dirname usage. 2025-04-29 09:53:11 -07:00
postcss.config.js Switched to type: module. 2025-04-29 14:36:52 -07:00
README.md Add comprehensive setup and validation system for Umami - Create interactive setup wizard - Add setup validation script - Enhance error messages - Create SETUP.md documentation - Add .env.example template - Implement pre-flight checks - Add TypeScript types - Create tests - Update README 2025-11-10 22:19:51 +05:30
rollup.tracker.config.js Switched to type: module. 2025-04-29 14:36:52 -07:00
SETUP.md Add comprehensive setup and validation system for Umami - Create interactive setup wizard - Add setup validation script - Enhance error messages - Create SETUP.md documentation - Add .env.example template - Implement pre-flight checks - Add TypeScript types - Create tests - Update README 2025-11-10 22:19:51 +05:30
tsconfig.json Converted UTM report to a view. 2025-05-20 21:25:06 -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

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 or newer
  • A database. Umami supports PostgreSQL (minimum v12.14) databases.

Use our interactive setup wizard for a guided installation:

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

The wizard will guide you through:

  • Checking prerequisites
  • Configuring your database
  • Creating the .env file
  • Building the application

Manual Setup

1. Get the Source Code and Install Packages

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

2. Validate Your Setup

Before proceeding, validate your environment:

pnpm run validate-setup

This will check:

  • Node.js version (>= 18.18)
  • pnpm installation
  • Environment configuration
  • Database connectivity
  • Dependencies

3. Configure Umami

Create an .env file with the following:

DATABASE_URL=connection-url

You can use .env.example as a template:

cp .env.example .env

The connection URL format:

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

4. 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.

⚠️ Important: Change the default password immediately after first login!

5. Start the Application

For development:

pnpm run dev

Development server runs on http://localhost:3001 with hot-reload enabled.

For production:

pnpm run start

Production server runs on http://localhost:3000. You will need to either proxy requests from your web server or change the port to serve the application directly.

Troubleshooting

If you encounter issues during setup, see our detailed Setup Guide which includes:

  • Step-by-step installation instructions
  • Common error scenarios and solutions
  • Database configuration help
  • Environment variable reference

You can also run diagnostics:

# Check environment variables
pnpm run check-env

# Check database connection
pnpm run check-db

# Validate complete setup
pnpm run validate-setup

🐳 Installing with Docker

To build the Umami container and start up a Postgres database, run:

docker compose up -d

Alternatively, to pull just the Umami Docker image with PostgreSQL support:

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

🔄 Getting Updates

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

git pull
pnpm install
pnpm run 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