59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
# Voorbeeld podman-compose bestand om Umami (self-hosted analytics) te draaien
|
|
# op de webserver-Pi (Pi Main, 192.168.1.103), naast de al draaiende nginx die
|
|
# de website zelf serveert.
|
|
#
|
|
# Vereist: podman + podman-compose (`pip3 install --user podman-compose`) op de Pi.
|
|
#
|
|
# Gebruik:
|
|
# 1. Kopieer dit bestand naar bv. ~/umami/podman-compose.yml op de Pi.
|
|
# 2. Kopieer .env.example naast dit bestand naar .env en vul een echte
|
|
# POSTGRES_PASSWORD en APP_SECRET in (zie .env.example voor hoe je die genereert).
|
|
# 3. cd ~/umami && podman-compose up -d
|
|
# 4. Zie umami-setup.md voor het instellen van auto-start na reboot (systemd)
|
|
# en het aanmaken van een website in de Umami-UI om het website-ID te krijgen.
|
|
|
|
services:
|
|
umami:
|
|
image: docker.umami.is/umami-software/umami:postgresql-latest
|
|
# Alleen op het interne (LAN) IP van deze Pi binden, niet op 0.0.0.0 — zelfde
|
|
# aanpak als webserver-nginx.conf.example, zodat deze poort niet per ongeluk
|
|
# vanaf buiten het netwerk bereikbaar is. Externe poort is 3001 (i.p.v. het
|
|
# gebruikelijke 3000), omdat Gitea op dezelfde Pi al poort 3000 systeembreed
|
|
# bezet (ook op dit interne IP, ongeacht dat Umami een specifiek IP opgeeft).
|
|
# De container zelf luistert intern nog gewoon op 3000. De reverse-proxy-Pi
|
|
# stuurt analytics.slpsoftware.nl door naar 192.168.1.103:3001 (zie
|
|
# ../nginx/analytics-nginx.conf.example).
|
|
ports:
|
|
- "192.168.1.103:3001:3000"
|
|
environment:
|
|
DATABASE_URL: postgresql://umami:${POSTGRES_PASSWORD}@db:5432/umami
|
|
DATABASE_TYPE: postgresql
|
|
APP_SECRET: ${APP_SECRET}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:3000/api/heartbeat"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
db:
|
|
image: docker.io/postgres:15-alpine
|
|
environment:
|
|
POSTGRES_DB: umami
|
|
POSTGRES_USER: umami
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
volumes:
|
|
- umami-db-data:/var/lib/postgresql/data
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U umami -d umami"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
umami-db-data:
|