Skip to content
⚠️ This documentation, is under development. Expect changes!

Umami

Create a folder in which to place the umami data.

You can create a first file named compose.yaml and put the following content in it

compose.yaml
# Umami
# Web UI: http://umami:3000
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
container_name: umami
restart: unless-stopped
environment:
DATABASE_URL: postgresql://umami:umami@umami-db:5432/umami
DATABASE_TYPE: postgresql
env_file:
- .env
networks:
- umami-net
- proxy-net
labels:
traefik.enable: true
traefik.http.routers.umami.entrypoints: web,websecure
traefik.http.routers.umami.tls: true
traefik.http.routers.umami.tls.certresolver: production
traefik.http.routers.umami.rule: Host(`track.example.com`)
traefik.http.services.umami.loadbalancer.server.port: 3000
traefik.docker.network: proxy-network
db:
image: postgres:15-alpine
container_name: umami-db
restart: unless-stopped
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- umami-db-data:/var/lib/postgresql/data
networks:
- umami-net
networks:
umami-net:
proxy-net:
name: proxy-network
external: true
volumes:
umami-db-data:

You need to configure your environnement variable

.env
APP_SECRET=
URL=

Once the configuration is complete, you can run the following command

Terminal window
docker compose up -d