Stack Sizer
Size a self-hosted stack from official sources.
Load and options
Umami
v1.0.0Load
Up to 20 websites and ~1 million events a month (about 4 a second in a peak hour), a team using reports, funnels and boards daily.
Options
No options change this app's resources.
Recommended resources
App requirements + system baseline + safety headroom. Nothing else is added, and nothing is rounded to a machine size.
vCPU 3.72, RAM 7.5 GiB, Disk 70.093 GiB
vCPU3.72
RAM7.5GiB
Disk70.093GiB
Breakdown
| Line | From | vCPU | RAM (GiB) | Disk (GiB) | Sources |
|---|---|---|---|---|---|
| Umami | Umami (dashboard, API, tracker and collector) · Medium load | 1 | 1 | 1.25 | 1234 |
| Umami | PostgreSQL · Medium load | 2 | 4 | 51.5 | 56789101112131415 |
| System baseline | Operating system, Container runtime (Docker Engine, containerd), System logs (journald), plus logs for 2 containers | 0.1 | 1.25 | 8.2 | 161718192021 |
| Safety headroom | vCPU 20%, RAM 20%, disk 15% of apps + baseline | 0.62 | 1.25 | 9.143 | 2217232024 |
| Recommended total | 3.72 | 7.5 | 70.093 |
Sources
- GHCR manifest of ghcr.io/umami-software/umami:3.4.0 (linux/amd64): 322,703,350 B compressed in 19 layers; layers decompressed and counted: 1,105,421,824 B (Umami, read 14 Oct 2026)
- umami repository: scripts/start-docker.sh at v3.4.0 (check-db.js, update-tracker.js, then exec node server.js so it is PID 1) (Umami, read 14 Oct 2026)
- umami repository: Dockerfile at v3.4.0 (node:22-alpine, apk add curl, user nextjs uid 1001, USER nextjs, EXPOSE 3000, HOSTNAME 0.0.0.0, CMD sh scripts/start-docker.sh, no HEALTHCHECK) (Umami, read 14 Oct 2026)
- umami repository: src/lib/detect.ts at v3.4.0 (location from CDN headers, else the local GeoLite2-City.mmdb opened with maxmind) (Umami, read 14 Oct 2026)
- PostgreSQL 18 documentation: 19.4 Resource Consumption (Umami, read 10 Oct 2026)
- PostgreSQL 18 documentation: 19.3 Connections and Authentication (Umami, read 10 Oct 2026)
- PostgreSQL 18 documentation: 19.10 Vacuuming (autovacuum settings) (Umami, read 10 Oct 2026)
- PostgreSQL 18 documentation: 19.5 Write Ahead Log (max_wal_size) (Umami, read 10 Oct 2026)
- PostgreSQL 18 documentation: 51.2 How Connections Are Established (Umami, read 10 Oct 2026)
- Docker Official Image postgres: documentation (docker-library/docs) (Umami, read 10 Oct 2026)
- Docker Hub: library/postgres tag 18.6 (compressed image sizes) (Umami, read 10 Oct 2026)
- umami repository: prisma/schema.prisma at v3.4.0 (website_event with 14 indexes, session with 11; PostgreSQL datasource) (Umami, read 14 Oct 2026)
- Umami Docs: FAQ (PostgreSQL minimum v12.14 only; self-hosted data is retained indefinitely unless you delete it; no cookies) (Umami, read 14 Oct 2026)
- umami repository: src/lib/prisma.ts at v3.4.0 (one PrismaPg adapter on DATABASE_URL, optional DATABASE_REPLICA_URL) (Umami, read 14 Oct 2026)
- node-postgres Docs: pg.Pool (max clients in the pool: 10 by default) (Umami, read 14 Oct 2026)
- Ubuntu Server: System requirements (Sizing policy, read 10 Oct 2026)
- Google Kubernetes Engine: About GKE node sizing (Sizing policy, read 10 Oct 2026)
- ANAROQ measurement: dockerd and containerd at rest (Ubuntu 24.04, Docker 29.8.2) (Sizing policy, read 10 Oct 2026)
- Docker Community Forums: Docker resource usage & overhead (Sizing policy, read 10 Oct 2026)
- journald.conf(5), Ubuntu Manpages (Sizing policy, read 10 Oct 2026)
- Docker Docs: Local file logging driver (Sizing policy, read 10 Oct 2026)
- AWS Compute Optimizer: Rightsizing recommendation preferences (Sizing policy, read 10 Oct 2026)
- Kubernetes: Node-pressure Eviction (Sizing policy, read 10 Oct 2026)
- mke2fs(8), Ubuntu Manpages (Sizing policy, read 10 Oct 2026)
Deployment Spec
Turn this result into a link you can keep or share. Everything is in the link; nothing is sent to us.
A short lowercase image id, for example ubuntu-24.04.