umami

umami

Docker app from JPDVM2014's Repository

Overview

Umami is a simple, fast, privacy-focused alternative to Google Analytics. Requires a separate Postgresql container and external access via reverse proxy.

Umami Logo

Umami

Umami is a privacy-first analytics platform. Traffic, campaigns, behavior, conversions, and revenue in one place β€” no cookies, no surveillance, self-hosted or in the cloud.

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.

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

GitHub Twitter LinkedIn Discord

Categories

Related apps

Explore more like this

Explore all

Details

Repository
docker.umami.is/umami-software/umami:postgresql-latest
Last Updated2026-10-14
First Seen2026-04-28

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

Host Port 2Porttcp
Target
3000
Default
3000
Value
3000
DATABASE_URLVariable

Example: postgresql://username:password@[ip-address]:[port]/[database_name]

Default
postgresql://umami:umami@db:5432/umami
Value
postgresql://root:password@192.168.1.10:5432/umami
DATABASE_TYPEVariable
Default
postgresql
Value
postgresql
HASH_SALTVariable
Value
Change to a random string!
PUIDVariable
Value
99
PGIDVariable
Value
100