# Copy to .env next to docker-compose.yml and edit. # Every value here has a working default — nothing is required to start. # --- identity / host -------------------------------------------------------- # Must match the owner of the directories below, or Beltr can't write to them. # Find yours with: id -u ; id -g PUID=1000 PGID=1000 TZ=Etc/UTC # Uncommon by design, so it doesn't collide with the usual self-hosted suspects. BELTR_PORT=8477 # --- storage ---------------------------------------------------------------- # Small and frequently written — SSD if you have one. BELTR_CONFIG_DIR=./config # Separated stems: roughly 60-120 MB per song. Point this at bulk storage. BELTR_LIBRARY_DIR=./library # Your existing music. Mounted read-only; Beltr copies what it imports. BELTR_MEDIA_DIR=./media # --- license ---------------------------------------------------------------- # Your key from https://beltr.app/buy. Activates once against this install's # identity (a UUID kept in /config) and then works offline; recreating or # updating the container does not re-activate. Leave blank for the trial — # five songs, then it asks you to buy. # # The identity lives on the /config volume, so keep that volume when you # update. If you delete it you'll need to re-activate, which uses another of # the key's device slots. # # You can also put the key in a file at /config/license.key instead. BELTR_LICENSE_KEY= # --- optional --------------------------------------------------------------- # Image tag. `latest` for CPU; the gpu profile appends -cuda and the openvino # profile -openvino automatically. BELTR_TAG=latest # Fixed host PIN for privileged actions. Unset = randomised every start. KARAOKE_HOST_PIN= # Lyrics and separation have no model knobs any more. Synced lyrics come from # a provider (LRCLIB by default; set LRCLIB_BASE_URL for a mirror) and are # force-aligned to the vocal stem; a song no provider knows is transcribed # locally with Parakeet-TDT, so most tracks never touch that path. Separation # is MDX-Net on ONNX Runtime, seeded into the image. WHISPER_MODEL_SIZE, # DEMUCS_MODEL, BELTR_DEMUCS_OVERLAP and BELTR_DEMUCS_SEGMENT are retired and # ignored if set. # Password for the TV/dashboard pages and the management endpoints. Phones # joining a room never need it. Read the security note in docs/UNRAID.md # before treating this as protection against anything but your own household. AUTH_PASSWORD= # Ownership fixing at startup: first-run | always | never BELTR_FIX_PERMS=first-run