# Every host-specific value comes from .env (see .env.example), so the # stack can be built and kept in sync by Arcane (or any Compose host) # without editing this file. Defaults below apply when a variable is unset. services: playlink: build: context: . args: VERSION: ${PLAYLINK_VERSION:-dev} # No image: line on purpose. The image is always built from this # repository, never pulled (it isn't published to a registry), so # deploy tools like Arcane don't try to pull a name that doesn't exist. pull_policy: build container_name: ${PLAYLINK_CONTAINER_NAME:-playlink} # Run as the user that owns your music (Unraid: nobody:users = 99:100). user: "${PUID:-99}:${PGID:-100}" ports: - "${PLAYLINK_PORT:-7480}:7480" environment: TZ: ${TZ:-America/Los_Angeles} PLAYLINK_ALLOWED_ROOTS: ${PLAYLINK_ALLOWED_ROOTS:-/data} PLAYLINK_SECURE_COOKIES: ${PLAYLINK_SECURE_COOKIES:-false} PLAYLINK_LOG_LEVEL: ${PLAYLINK_LOG_LEVEL:-info} volumes: - ${PLAYLINK_CONFIG_PATH:-/mnt/user/Aqua/playlink}:/config # IMPORTANT: ONE folder that contains BOTH libraries. Hardlinks # cannot cross Docker bind mounts, even on the same disk. - ${PLAYLINK_DATA_PATH:-/mnt/user/Sapphire}:/data restart: ${PLAYLINK_RESTART:-unless-stopped} networks: - playlink networks: playlink: # An existing Docker network (e.g. the one your reverse proxy uses). name: ${PLAYLINK_NETWORK:-chromanet} external: true