1.6 KiB
Umami analytics stack – setup
Deploy this stack in Portainer as Stack → Add stack → Build method: Git repository, then use the web editor and the steps below.
1. Create the external volume (once)
If the volume does not exist yet, create it on the host (or the node where the stack runs):
docker volume create umami-db-data
The compose file expects this name; the stack will fail to start if the volume is missing.
2. Generate secrets
Run these commands and paste each output into the corresponding Portainer env var (no quotes):
APP_SECRET:
openssl rand -hex 32
POSTGRES_PASSWORD:
openssl rand -hex 32
Use different values for each.
3. Environment variables in Portainer
In Portainer: Stack → your stack → Editor → Add/Edit environment variables (or the “Web editor” env vars section). Paste the block below, then replace the REPLACE_ME values with the outputs from step 2.
POSTGRES_DB=umami
POSTGRES_USER=umami
POSTGRES_PASSWORD=REPLACE_ME
APP_SECRET=REPLACE_ME
Create the external volume(s) (step 1) before the first deploy if they do not exist.
4. Traefik Host rule
The stack is configured for analytics.mifi.holdings. If you deploy elsewhere, edit docker-compose.yml and change the Traefik label:
traefik.http.routers.umami.rule=Host(\your-domain.example.com`)`
Then redeploy the stack (and reload Traefik if needed).
5. First login
After the stack is running, open the app at your configured host (e.g. https://analytics.mifi.holdings). Create the admin account in the Umami UI; there are no default credentials.