v0.313.0: media apps on every drive, drive events, a real restart, Plex without the race — release notes (MinAgent 0.155.0); golden next (bake → vouch → floor)
gates / gates (push) Successful in 44s
gates / gates (push) Successful in 44s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -3307,6 +3307,29 @@ The household sees lost files (name, date taken) on the app page until dismissed
|
||||
`app_repaired_after_crash` with counts only. Immich is the first user (`09` §3 decision 236: Immich's own job queue —
|
||||
no key into the household's account). Code: `internal/stacks/after_unclean_boot.go`, `internal/aftercrash/`.
|
||||
|
||||
### 8c. Media apps on every drive and the drive events (v0.313.0, R-1023)
|
||||
|
||||
- **Every drive.** A template with `media_library:` (`folder:`, `read_only:`) gets one bind per PRESENT enrolled drive —
|
||||
`<drive>/userdata/media[/<folder>]` at the same path — in `docker-compose.override.yml` (header-marked, ours),
|
||||
rewritten before every `compose up`. An absent drive (not a mountpoint), a dead one (`shutdown` in
|
||||
`/proc/self/mountinfo`) and a safely removed one are never bound. Network shares never. The wizard does not ask a
|
||||
media app for a drive; its config goes on the default drive. `internal/stacks/media_library.go`.
|
||||
- **A real restart.** `RestartStack` = `up -d --force-recreate` with the stack's env; start times before/after; an
|
||||
error when nothing started again.
|
||||
- **Wiring** (`internal/mediawire`): after a media app comes up (debounced 60 s), after the media restart, and on
|
||||
„Bekötés most": qBittorrent categories + automatic management, Transmission's incomplete folder off, Sonarr/Radarr tag,
|
||||
root folder, download clients, minimum free space, Prowlarr → Sonarr/Radarr, Plex libraries + „scan on change" (the
|
||||
server's own token, read at use), Jellyfin libraries (the API key named „felhom", read at use from its database).
|
||||
Idempotent; keys never stored or logged. Old Sonarr/Radarr installs (`/media/<kind>`) are repaired once, no file moved.
|
||||
- **Drive events** (`internal/web/media_events.go`, `/api/storage/media/{status,restart,wire}`): added / removed /
|
||||
returned are recorded on the drive; the storage page and the dashboard show the notice with „Újraindítás most"
|
||||
(stream check first) and „Később" (03:30), and per drive „restarted since". A returned drive recreates the file
|
||||
browser at once; a dead or removed drive is not bound into it. **Safe removal** with media apps: pause that drive's
|
||||
torrents → recreate the apps and the file browser without it → unmount → keep it registered; its return needs no
|
||||
household step, and the torrents resume after the restart.
|
||||
- **Plex:** the claim code is an `after_start` field — asked on the Plex page once Plex runs (`POST /apps/plex/plex-claim`);
|
||||
the gate opens only when Plex says claimed, and „Kész" is refused before that.
|
||||
|
||||
### 9. Central Hub Reporting
|
||||
|
||||
#### Operator actions (`internal/report/opactions.go`, `09` §3 decision 185)
|
||||
|
||||
Reference in New Issue
Block a user