Umami analytics stack

This commit is contained in:
2026-02-17 00:59:45 -03:00
commit c38ca7e599
11 changed files with 749 additions and 0 deletions

56
SETUP.md Normal file
View File

@@ -0,0 +1,56 @@
# 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):
```bash
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:**
```bash
openssl rand -hex 32
```
**POSTGRES_PASSWORD:**
```bash
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.