3.7 KiB
3.7 KiB
32 — jellyfin-dev container wipe (2026-05-11)
Cleanup of the idle jellyfin-dev instance on nullstone. This was the
scratch container used for the scyfin theme experiment + the 10.11.8 dev
upgrade documented in docs/29-jellyfin-10.11-upgrade-and-scyfin-migration.md.
The experiment is concluded; prod is being upgraded by a parallel agent
and jellyfin-stock (tv.s8n.ru) covers the stock build, so dev has no
remaining role.
Pre-wipe state
$ docker ps -a --filter name=jellyfin-dev
CONTAINER ID IMAGE STATUS NAMES
ecf97cddba6c jellyfin/jellyfin:10.11.8 Up 14 hours (healthy) jellyfin-dev
$ ls -la /opt/docker/jellyfin-dev/
-rw-r--r-- 1 user user 1898 docker-compose.yml
-rw-r--r-- 1 user user 1799 docker-compose.yml.bak.1778243059
drwxrwxr-x 3 user user 4096 web-overrides/
$ ls -la /home/docker/jellyfin-dev/ (via privileged alpine, userns=host)
drwxr-xr-x 5 1000 1000 cache/
drwxr-xr-x 8 1000 1000 config/
total: 200 MB
$ grep -lr "jellyfin-dev\|dev.arrflix" /opt/docker/traefik/config/
(no matches — routing was via docker-provider labels only)
$ df -h /home
/dev/mapper/keystone--vg-home 399G 284G 96G 75%
Actions
docker stop jellyfin-dev && docker rm jellyfin-dev— container removed.- Privileged-alpine wipe of
/home/docker/jellyfin-dev/(uid 1000 inside userns-remap, owner100000:100000on host — hostusercan'trmit directly, hence the--userns=hostcontainer):docker run --rm --userns=host -v /home/docker:/d alpine \ rm -rf /d/jellyfin-dev rm -rf /opt/docker/jellyfin-dev/— compose file + web-overrides gone (owned byuser, plain rm sufficient).- Traefik docker-provider router vanished with the container — no file-provider yaml to clean up (verified via grep).
Post-wipe verification
$ docker ps -a --filter name=jellyfin-dev # empty
$ ls /opt/docker/jellyfin-dev # ENOENT
$ ls /d/jellyfin-dev (in alpine) # ENOENT
$ curl -sk -o /dev/null -w "%{http_code}\n" \
https://dev.arrflix.s8n.ru/ # 404 (Traefik, no backend)
$ ls /home/docker | grep jellyfin # jellyfin, jellyfin-stock only
$ ls /opt/docker | grep jellyfin # jellyfin, jellyfin-stock only
Prod (jellyfin at arrflix.s8n.ru) and stock (jellyfin-stock at
tv.s8n.ru) were both untouched and continue to serve traffic.
What was kept
/home/user/snapshots/jellyfin-dev-pre-1011-upgrade-20260511-033309.tar.zst(143 MB) — pre-upgrade rollback point./home/user/snapshots/jellyfin-dev-post-10107-20260511-033839.tar.zst(144 MB) — post-rollback snapshot from earlier today. Both stay in place as historical artefacts.- Pi-hole local-DNS pin
dev.arrflix.s8n.ru -> 192.168.0.100— harmless, resolves to Traefik which now 404s. Left alone. - LE certificate for
dev.arrflix.s8n.ruintraefik/acme.json— left alone; reusable if dev is ever rebuilt.
Disk reclaimed
before: 96G avail
after: 96G avail (200 MB freed; below `df -h` rounding granularity
on a 399 GB volume)
du -sh /home/docker/jellyfin-dev reported 200 MB pre-wipe, so the
freed-space figure is exact even though df -h can't resolve it.
Rebuild path (if ever needed)
- Restore
/home/docker/jellyfin-dev/from one of the snapshots in/home/user/snapshots/. - Recreate
/opt/docker/jellyfin-dev/docker-compose.ymlfromdocs/29-jellyfin-10.11-upgrade-and-scyfin-migration.md(compose block is inline in that doc). docker compose up -d— Traefik docker-provider re-attaches the router automatically, LE cert is already in acme.json so no fresh challenge needed.