Umami is a modern, privacy-focused alternative to Google Analytics. https://umami.is
Find a file
Alex Escalante 26ddfd5a80
Sanitize IP to remove port for geolocation lookup
Sanitize IP address to remove port number before geolocation lookup. This ensures proper MaxMind database resolution in setups where IP:PORT is passed by the proxy.
2025-06-30 18:40:21 -06:00
.github Update ci.yml 2025-05-22 15:19:34 +08:00
.husky Fix build issues. 2021-11-22 14:53:36 -08:00
cypress add api-testing to cypress tests 2025-03-12 10:32:54 -07:00
db fixing the clickhouse schema file 2025-06-13 12:17:18 -07:00
podman Fixed typo in README.md 2025-04-17 19:08:25 +02:00
public Updated language build. 2025-05-07 13:40:21 -07:00
scripts Update migration script. 2025-05-12 00:01:24 -07:00
src Sanitize IP to remove port for geolocation lookup 2025-06-30 18:40:21 -06:00
.dockerignore Updated packages. 2023-04-21 14:39:06 -07:00
.eslintrc.json update cypress tests, update zod validation error messaging to UI 2025-03-07 13:06:38 -08:00
.gitignore Ignore generated folder used by Prisma. 2025-05-09 20:11:06 -07:00
.prettierignore Updated packages. 2023-04-21 14:39:06 -07:00
.prettierrc.json Initial commit. 2020-07-17 01:03:38 -07:00
.stylelintrc.json Added search to filter dropdown. Updated eslint packages. 2024-02-29 21:18:34 -08: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 ♻️ refactor(docker): remove versioning in docker compose file as it's deprecated 2025-02-21 15:04:48 +05:30
Dockerfile Fixed wrong Prisma version in Docker. 2025-05-09 17:16:24 -07:00
jest.config.ts Fix test. 2025-03-31 22:49:34 -05:00
lang-ignore.json Update mn-MN.json 2024-02-05 14:21:16 +08: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 Updated report icon. Removed failing test. 2025-04-14 14:43:16 -07:00
next.config.mjs Nullish coalescing 2025-06-26 11:45:42 +02:00
package.components.json add date-fns-tz 2024-05-04 13:36:08 -07:00
package.json Bump version v2.18.1. 2025-05-09 23:03:16 -07:00
pnpm-lock.yaml Fixed wrong Prisma version in Docker. 2025-05-09 17:16:24 -07:00
pnpm-workspace.yaml Added workspace file. 2025-04-29 10:41:12 -07:00
README.md Fixed README. 2025-05-07 23:30:09 -07:00
rollup.components.config.mjs Removed FormattedMessage usage. 2025-02-07 10:40:30 -08:00
rollup.tracker.config.mjs Updated packages. Next 15.3.1. Prisma 6.7.0. 2025-05-01 00:35:10 -07:00
tsconfig.json Fix test. 2025-03-31 22:49:34 -05: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 MariaDB (minimum v10.5), MySQL (minimum v8.0) and PostgreSQL (minimum v12.14) databases.

Get the Source Code and Install Packages

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

Configure Umami

Create an .env file with the following:

DATABASE_URL=connection-url

The connection URL format:

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

Build the Application

npm 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

npm 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

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:postgresql-latest

Or with MySQL support:

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

🔄 Getting Updates

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

git pull
npm install
npm 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