services: app: build: . ports: - "5000:5000" volumes: - app_data:/data - ./plugins:/app/plugins:ro # Uncomment to enable Traefik access log ingestion (set access_log.enabled: true in plugin config): - /mnt/Data/traefik/log:/var/log/traefik:ro environment: - FABLEDSCRYER_DATABASE_URL=postgresql+asyncpg://fabledscryer:fabledscryer@db/fabledscryer # ── Managed NUT (optional) ─────────────────────────────────────────────── # Set NUT_MANAGED=1 to run NUT inside this container and connect to your # UPS over the network (SNMP or XML/HTTP). No USB or special privileges # required — just network access to the UPS management card. # # - NUT_MANAGED=1 # - NUT_UPS_HOST=192.168.1.x # IP/hostname of UPS management card (required) # - NUT_DRIVER=snmp-ups # snmp-ups (default) or netxml-ups for Eaton # - NUT_UPS_NAME=ups # must match 'ups_name' in UPS plugin settings # - NUT_SNMP_COMMUNITY=public # SNMP community string (snmp-ups only) # - NUT_SNMP_VERSION=v1 # v1 or v2c (snmp-ups only) # - NUT_USERNAME= # upsd auth username (blank = no auth) # - NUT_PASSWORD= # upsd auth password depends_on: db: condition: service_healthy restart: unless-stopped db: image: postgres:16-alpine environment: POSTGRES_USER: fabledscryer POSTGRES_PASSWORD: fabledscryer POSTGRES_DB: fabledscryer volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U fabledscryer"] interval: 5s timeout: 5s retries: 5 restart: unless-stopped volumes: pgdata: app_data: