x-arcane:
  icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/umami.svg
  urls:
    - https://github.com/umami-software/umami/blob/master/docker-compose.yml

services:
  umami:
    image: ghcr.io/umami-software/umami:latest
    restart: unless-stopped
    init: true
    ports:
      - "${BIND_ADDRESS:-127.0.0.1}:${APP_PORT:-3005}:3000"
    environment:
      DATABASE_URL: postgresql://umami:${DB_PASSWORD}@database:5432/umami
      APP_SECRET: ${APP_SECRET}
      TWO_FACTOR_ENCRYPTION_KEY: ${TWO_FACTOR_ENCRYPTION_KEY}
    depends_on:
      database:
        condition: service_healthy
    labels:
      com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/umami.svg

  database:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - umami-db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
      interval: 5s
      timeout: 5s
      retries: 10
    labels:
      com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/postgresql.svg

volumes:
  umami-db:
