FileBrowser is published only after its default login is checked (R-1126); the memory refusal says what to do (R-1125)

R-1126 (D11 = A): FileBrowser starts off traefik-public, on its own network felhom-filebrowser; the controller joins it
there, checks this run's default login, and only then puts FileBrowser on traefik-public (files.<domain> served).
FileBrowser's own admin-password setting re-applies at every start (1.5.6 cmd/user.go:50-57, measured on 9202), so it
cannot carry the box's password without overwriting the household's own. Tests red-proved.
R-1125 (D10 = A): err.stacks.not_enough_memory says the memory is held by the installed apps and to remove one or use
a machine with more memory (HU + EN, reworded on purpose). TestR1125_NotEnoughMemorySaysWhatToDo, red-proved.

Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-17 12:49:34 +02:00
parent 3e8d027677
commit e3bb775ac5
12 changed files with 231 additions and 17 deletions
+5
View File
@@ -3884,6 +3884,11 @@ func (s *Server) syncFileBrowserMounts(resetDBOnChange bool) {
s.logger.Printf("[ERROR] [web] Failed to bring up FileBrowser: %s — %v", string(out), err)
} else if changed {
s.logger.Printf("[INFO] [web] FileBrowser mounts synced (recreated) — %d storage path(s), config updated", len(paths))
// R-1126: a re-created FileBrowser starts off traefik-public; check its default login and publish it now, not
// at the next base-stack round (in the background: the check may wait ~20 s for FileBrowser to answer).
if s.stackMgr != nil {
go s.stackMgr.EnsureFileBrowserGate()
}
} else {
s.logger.Printf("[INFO] [web] FileBrowser sync — no config/compose change, ensured running without recreate (%d storage path(s))", len(paths))
}