A lightweight, open-source web analytics tool that prioritizes user privacy by not using cookies.

Screenshots

Dashboard homepage

Dashboard homepage

Website analytics

Website analytics

Website analytics (below the fold)

Website analytics (below the fold)

Compare between time range

Compare between time range

Events

Events

Events (below the fold)

Events (below the fold)

Dashboard homepage

Dashboard homepage

Website analytics

Website analytics

Website analytics (below the fold)

Website analytics (below the fold)

Compare between time range

Compare between time range

Events

Events

Events (below the fold)

Events (below the fold)

Compose

services:
  umami:
    image: 'ghcr.io/umami-software/umami:postgresql-v2.19' # Released on Jul 28 2025 (last release of v2)
    environment:
      - SERVICE_URL_UMAMI_3000
      - 'DATABASE_URL=postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB'
      - DATABASE_TYPE=postgres
      - APP_SECRET=$SERVICE_PASSWORD_64_UMAMI
    depends_on:
      postgresql:
        condition: service_healthy
    healthcheck:
      test:
        - CMD
        - curl
        - '-f'
        - 'http://127.0.0.1:3000/api/heartbeat'
      interval: 5s
      timeout: 20s
      retries: 10
      
  postgresql:
    image: 'postgres:16-alpine'
    volumes:
      - 'postgresql-data:/var/lib/postgresql/data'
    environment:
      - POSTGRES_USER=$SERVICE_USER_POSTGRES
      - POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
      - 'POSTGRES_DB=${POSTGRES_DB:-umami}'
    healthcheck:
      test:
        - CMD-SHELL
        - 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
      interval: 5s
      timeout: 20s
      retries: 10
services:
  umami:
    image: 'ghcr.io/umami-software/umami:mysql-v2.19' # Released on Jul 28 2025 (last release of v2)
    environment:
      - SERVICE_URL_UMAMI_3000
      - 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@mysql:3306/$MYSQL_DATABASE'
      - DATABASE_TYPE=mysql
      - APP_SECRET=$SERVICE_PASSWORD_64_UMAMI
    depends_on:
      mysql:
        condition: service_healthy
    healthcheck:
      test:
        - CMD
        - curl
        - '-f'
        - 'http://127.0.0.1:3000/api/heartbeat'
      interval: 5s
      timeout: 20s
      retries: 10
      
  mysql:
    image: 'mysql:8'
    volumes:
      - 'mysql-data:/var/lib/mysql'
    environment:
      - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT
      - 'MYSQL_DATABASE=${MYSQL_DATABASE:-umami}'
      - MYSQL_USER=$SERVICE_USER_MYSQL
      - MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL
    healthcheck:
      test:
        - CMD
        - mysqladmin
        - ping
        - '-h'
        - 127.0.0.1
      interval: 5s
      timeout: 20s
      retries: 10

Informations

Important

We couldn’t find official minimum system requirements from Umami.

Based on our testing, we recommend the specifications below for small websites with low traffic.

Depending on your usage, you may need a server with higher resources.

  • Operating System:Linux
  • System Architecture:ARM64 & x86
  • Compute (CPU):1 cores
  • Memory (RAM):2 GB
  • Disk (STORAGE):6 GB
These are the required variables needed to run Umami. For extra features, add more variables from the list in Umami's docs.
  • DATABASE_URL:postgres://...:5432/$POSTGRES_DB..:5432/$POSTGRES_DB..:5432/$POSTGRES_DB..:5432/$POSTGRES_DB
  • DATABASE_TYPE:postgres
  • SERVICE_URL_UMAMI_3000:https://your.domain.com:3000
  • APP_SECRET:$SERVICE_PASSWORD_64_UMAMI
Replace your.domain.com with the domain you entered on Coolify as the domain for Umami.
  • Login URL:https://your.domain.com/login
  • Username:admin
  • Password:umami
These are the resource usage levels we observed when running a new Umami instance without any user data.

Umami with PostgreSQL Database

Umami with PostgreSQL Database

Umami with MySQL Database

Umami with MySQL Database

FAQ

Resources

Umami v3 will be added to Stackio soon!

Last updated on 11/13/2025