Files
playlink/docker-compose.yml
cdnutterandClaude Opus 5.5 d8ad42c719 Build the image instead of pulling it on deploy
Arcane pulls every service's image: reference before deploying, and
playlink isn't published to a registry. Drop the image name and set
pull_policy: build so the image is always built from the repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:17:03 -07:00

38 lines
1.5 KiB
YAML

# 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