Screenshots

Dashboard homepage

Website analytics

Website analytics (below the fold)

Compare between time range

Events

Events (below the fold)

Dashboard homepage

Website analytics

Website analytics (below the fold)

Compare between time range

Events

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: 10services:
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: 10Informations
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.
These are the required variables needed to run Umami. For extra features, add more variables from the list in Umami's docs.
Replace
your.domain.com with the domain you entered on Coolify as the domain for 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 MySQL Database
FAQ
Resources
Umami v3 will be added to Stackio soon!
