docs: note that tracks/ supports nested album subdirectories

This commit is contained in:
devilreef 2026-04-30 11:15:28 +06:00
parent 21d214abe9
commit 922f3d9e10
Signed by: devilreef
SSH key fingerprint: SHA256:UZisRr4iuXx+IhkbZnR655L2RWAT6o2rgbGv5F/6m3Y
2 changed files with 6 additions and 3 deletions

View file

@ -37,10 +37,12 @@ On the Storage Box, mounted at `/mnt/trashbox/denpa-radio/library/` on summer:
<station-id>/ # id must match [a-z0-9-]+
├── _meta.yml # name, description, color, tags
├── cover.{jpg,png,webp} # optional; served by /api/stations/<id>/cover
├── tracks/ # any decoder-supported audio (flac, mp3, opus, m4a, wav, ogg)
├── tracks/ # audio files; subdirs supported (e.g. tracks/Volume Alpha/, tracks/Singles/)
└── jingles/ # optional, currently unused in v1
```
Liquidsoap's `playlist()` recurses into subdirectories of `tracks/` by default — organize by album/source however you like. Any decoder-supported audio works (flac, mp3, opus, m4a, wav, ogg). Non-audio files in `tracks/` will be picked up and fail to decode (FFmpeg returns no audio stream); keep cover art and other non-audio at the station root, NOT inside `tracks/`.
Adding a station: mkdir + `_meta.yml` + tracks → edit `config/liquidsoap.liq` to add a new station block following the `# === station: <id> ===` pattern → tar-pipe the script and `docker compose restart liquidsoap` on summer. The frontend's `/api/stations.json` picks up the new entry within ~30s (Cache-Control max-age) without a rebuild. No Caddy reload, no Icecast restart.
## Deployment target ("summer")

View file

@ -46,7 +46,7 @@ three docker containers (icecast, liquidsoap, frontend) and a Caddy host service
on the storage box (mounted at `/mnt/trashbox/denpa-radio/library/` on summer):
```
mkdir <station-id>/{tracks,jingles}
mkdir -p <station-id>/{tracks,jingles}
cat > <station-id>/_meta.yml <<EOF
name: My Station
description: short description
@ -54,7 +54,8 @@ color: '#5cae34'
tags: [tag1, tag2]
EOF
# drop audio files into <station-id>/tracks/
# (optional) drop cover.jpg into <station-id>/
# subdirs supported: tracks/Volume Alpha/, tracks/Singles/, etc — Liquidsoap recurses
# (optional) drop cover.jpg into <station-id>/ (NOT inside tracks/ — would fail to decode)
```
then on summer: