Docs / Self-Hosted Applications / How to Install Umami Analytics on Your Breeze

How to Install Umami Analytics on Your Breeze

By Admin · Mar 2, 2026 · Updated Apr 23, 2026 · 25 views · 3 min read

How to Install Umami Analytics on Your Breeze

Umami is a simple, fast, and privacy-focused open-source analytics tool. It provides essential website metrics without tracking personal data or using cookies. Umami is an excellent choice if you want a clean, minimal analytics dashboard that respects visitor privacy. Self-hosting on your Breeze gives you full control over your data.

Prerequisites

  • A Breeze instance with at least 1 GB of RAM
  • Docker and Docker Compose installed
  • A domain or subdomain (e.g., stats.example.com)

Step 1 — Create the Docker Compose File

Set up a directory and create the configuration:

mkdir -p ~/umami && cd ~/umami
cat > docker-compose.yml <<'EOF'
version: "3.8"
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:your-secure-password@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: $(openssl rand -hex 32)
    depends_on:
      db:
        condition: service_healthy
  db:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: your-secure-password
    volumes:
      - umami_db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U umami"]
      interval: 5s
      timeout: 5s
      retries: 5
volumes:
  umami_db:
EOF

Replace your-secure-password with a strong password generated by openssl rand -hex 16.

Step 2 — Launch Umami

docker compose up -d

The default login credentials are admin with password umami. Change these immediately after your first login.

Step 3 — Configure the Reverse Proxy

Set up Nginx to forward traffic to Umami:

server {
    listen 443 ssl http2;
    server_name stats.example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Step 4 — Add a Website

Log into Umami and navigate to Settings → Websites → Add Website. Enter your site name and domain. Umami will generate a tracking code snippet:

<script async src="https://stats.example.com/script.js"
  data-website-id="your-website-id"></script>

Add this to the <head> of your website. The tracking script is only about 2 KB, making it one of the lightest analytics solutions available.

Step 5 — Understanding the Dashboard

Umami's dashboard is clean and straightforward, showing:

  • Page views and unique visitors over configurable time ranges
  • Top pages ranked by view count
  • Referrers showing where your traffic comes from
  • Browser and OS breakdowns
  • Country and language distribution
  • Real-time visitor count and active pages

Event Tracking

Track custom events like button clicks and form submissions by adding data attributes to your HTML elements:

<button data-umami-event="signup-button">Sign Up</button>

Or use the JavaScript API for programmatic tracking:

umami.track('download', { file: 'whitepaper.pdf' });

Teams and Sharing

Create team accounts to share dashboard access with colleagues without sharing admin credentials. You can also generate shareable dashboard links for stakeholders who need read-only access to analytics data.

Was this article helpful?