Files
music-mirror/compose.yaml
T
Emma ThorpeandClaude Opus 5 82c9da6d62
Build and publish container / build (pull_request) Canceled after 14m40s
ci: publish the container image to the Gitea registry
Adopts the release scheme from legacy-email-proxy so both repositories behave
the same way: the version is derived from conventional commits since the last
v* tag, the image is pushed under the full version, the truncated major.minor
and major forms, and latest, and non-release builds are published as
sha-<short>. Multi-arch (amd64 for the NAS, arm64 so the same image runs on a
Pi). Authentication uses the PACKAGES_SECRET repository secret.

The release step also writes the computed version into pyproject.toml and
commits it as chore(release) before tagging, so the packaging metadata cannot
drift behind the release. It skips the commit when the file already carries
that version, which would otherwise fail the job after the image had been
pushed.

compose.yaml and the README now reference the published image instead of
instructing the NAS to build one locally.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-21 14:44:29 +01:00

28 lines
1.1 KiB
YAML

# TrueNAS Scale "Custom App" definition.
#
# Adjust the two host paths and the user to match your pool. The source is
# mounted read-only on purpose: nothing here should ever be able to write to
# the lossless library.
services:
music-mirror:
image: code.emmathe.dev/lyrathorpe/music-mirror:latest
container_name: music-mirror
restart: unless-stopped
# The dataset owner, so the mirror is not written as root. `id apps` or the
# ownership of the mirror dataset will tell you the right numbers.
user: "568:568"
environment:
MUSIC_MIRROR_SOURCE: /music
MUSIC_MIRROR_MIRROR: /mirror
# LAME V0 averages about 245 kbps. Use 256 for constant bitrate instead.
MUSIC_MIRROR_QUALITY: V0
# How long to wait between passes. Lidarr imports are picked up on the
# next one.
MUSIC_MIRROR_INTERVAL: 6h
# Concurrent encodes; defaults to the CPU count. Lower it to leave the
# NAS responsive during the first full pass.
# MUSIC_MIRROR_JOBS: "4"
volumes:
- /mnt/tank/media/music:/music:ro
- /mnt/tank/media/music-mp3:/mirror