Ctrl K
ComunidadGuías…

compose.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
name: hauser

services:
  hauser:
    image: "${HAUSER_IMAGE_REPOSITORY:-ghcr.io/ralleur/hauser}:${HAUSER_IMAGE_TAG:-v0.50.0}"
    # The image entrypoint prepares bind-mounted volumes as root before
    # dropping privileges — needed under Home Assistant OS, where the
    # Supervisor hands over a root-owned /data. Compose uses named volumes
    # that already carry the right ownership, so it runs unprivileged from
    # the start and the preparation is skipped (cap_drop: ALL would not
    # permit it anyway).
    user: node
    pull_policy: missing
    init: true
    restart: unless-stopped
    read_only: true
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    ports:
      - "${HAUSER_BIND_ADDRESS:-127.0.0.1}:${HAUSER_PORT:-4173}:4173"
    environment:
      HMI_ALLOWED_ORIGINS: "${HMI_ALLOWED_ORIGINS:-http://localhost:4173,http://127.0.0.1:4173}"
      HMI_AI_CUSTOMIZING_ENABLED: "0"
      HMI_ROOM_IMAGE_AUTH_MODE: direct
      HMI_HOUSEHOLD_CONFIG_PATH: /config/household.json
      HMI_HOUSEHOLD_CONFIG_MODE: active
      HMI_CONFIG_PATH: /data/config.json
      HMI_FAMILY_DATA_PATH: /data/family-data.json
      HMI_SONG_LIBRARY_DIR: /data/songs
      HMI_REQUIRED_WRITABLE_DIRS: /config,/data,/assets
    volumes:
      - hauser_config:/config
      - hauser_data:/data
      - hauser_assets:/assets
    tmpfs:
      - /tmp:rw,nosuid,nodev,noexec,size=64m
    healthcheck:
      test: ["CMD", "node", "container/healthcheck.mjs"]
      interval: 10s
      timeout: 3s
      start_period: 10s
      retries: 3
    stop_grace_period: 15s

volumes:
  hauser_config:
  hauser_data:
  hauser_assets: