Docs / Self-Hosted Applications / How to Self-Host Umami Web Analytics

How to Self-Host Umami Web Analytics

By Admin · Mar 1, 2026 · Updated Apr 23, 2026 · 26 views · 2 min read

What Is Umami?

Umami is a simple, fast, privacy-focused analytics tool. It is an open-source alternative to Google Analytics with a clean dashboard, no cookies, and full GDPR compliance.

Requirements

  • A Breeze with at least 1 GB RAM
  • Docker and Docker Compose
  • A domain name

Step 1: Create Docker Compose File

mkdir -p /opt/umami && cd /opt/umami
cat > docker-compose.yml <<'EOF'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:your_password@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: $(openssl rand -base64 32)
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: your_password
    volumes:
      - umami-db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U umami"]
      interval: 5s
      timeout: 5s
      retries: 5
    restart: unless-stopped

volumes:
  umami-db:
EOF

Step 2: Start Services

docker compose up -d

Step 3: Configure Reverse Proxy and SSL

server {
    server_name stats.yourdomain.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-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
# Then: sudo certbot --nginx -d stats.yourdomain.com

Step 4: Log In and Add Your Website

Default credentials: admin / umami. Change the password immediately. Then add your website and copy the tracking script.

Was this article helpful?