What it does → [docs/04 § friend playbook](docs/04-theming-and-users.md).
Why it exists (Jellyfin has no native global default) → see same doc.
### Add new media
1. Drop source into `/home/admin/Downloads/<show or movie>/` on onyx.
2. Run cleanup: strip junk per [docs/07](docs/07-pre-import-cleanup.md). Use `bin/cleanup-import.sh` once written; for now follow the rules in that doc by hand.
3. Normalize filenames per [docs/08](docs/08-filename-normalization.md). Use `bin/normalize.py` once written.
4. Stage to `/home/admin/staging-jelly-<title>/<canonical-name>/`.
5.`scp -r` to `nullstone:/home/user/media/<lib>/`.
ElegantFin imports from `cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/...` — auto-fixes itself most of the time. If the upstream theme breaks on a JF version bump, pin to a known-good tag. Procedure: [docs/04 § maintenance](docs/04-theming-and-users.md).
---
## Operational rules (these are non-negotiable)
1.**Wrapper-only user creation.** Don't create users in the Dashboard UI. Always run `bin/add-jellyfin-user.sh` so the layout + prefs are consistent. Doc 04.
2.**Stage before import.** Never drop raw downloads into `/home/user/media/`. Always clean + normalize first. Docs 05/07/08.
3.**Verify before delete.** Don't delete source downloads or old library entries until the new content is confirmed playing in the Jellyfin UI.
4.**No bind-mount drift.** If you change `docker-compose.yml`, commit + push to `git.s8n.ru/s8n/jellyfin-stack` in the same step. The repo is the source of truth for the deploy. Doc memory: `feedback_always_commit_to_my_git.md`.
5.**No public DNS.**`tv.s8n.ru` resolves only via Pi-hole locally. Do NOT add a Gandi A record. LAN-only is the threat model.
---
## Reference docs (read on demand)
| Doc | When to read |
|---|---|
| [01-artwork-and-images](docs/01-artwork-and-images.md) | Artwork missing or wrong; want to install Fanart.tv |
| [02-metadata-and-titles](docs/02-metadata-and-titles.md) | Wrong show matched; bad titles; multi-episode files |
| New media import wrong | Don't panic. The source download is still in `/home/admin/Downloads/`. Delete the bad import dir on nullstone, redo cleanup/normalize step |