-
released this
2026-08-09 13:35:06 -05:00 | 104 commits to main since this releaseAdded
-
OAuth state now persists across redeploys. The connector was signed out by every
single stack update.FASTMCP_HOMEis set explicitly to/var/lib/fastmcp— in the
image and in the stack — and the stack mounts an NFS volume there, so the encrypted
file storeOAuthProxywas already writing survives a service update.Set explicitly rather than left to
platformdirs, because the default is derived from
the container user and$HOME: a base-image change would relocate the store silently,
and a moved store is indistinguishable from a lost one. The volume is inline rather
thanexternal: truefor the reasonnamed_volumes_guide.mdgives — Portainer here
cannot target a node and there is no SSH to the Pis, so an external volume exists on
exactly one node, and a task landing anywhere else gets an empty one. That would bring
the sign-out back intermittently, which is worse than constantly. It sits on
volume1(NVMe) rather thanvolume2(HDD): a tree of tiny files rewritten on every
token refresh is exactly the small-random-write case the guide reserves the NVMe for.This does not raise the replica ceiling. A file store is per-container-filesystem,
soreplicas: 1still stands underAUTH_MODE=oauth. Seedocs/oauth-persistence.md. -
An
oauth_storagepreflight check, andfastmcp_homeon the boot line.
OAuthProxymkdirs its storage in its constructor, so an unwritable path was a
PermissionErrorduring app construction — a crash loop whose traceback named
fastmcp,pathliband a hashed directory, and mentioned neither the volume nor its
owner. That is the likely first failure here: thelocalNFS driver never contacts the
server until a container mounts it, so a missing export directory or wrong ownership
produces a perfectly healthy-looking volume and fails only at start. The check runs
before the app is built and names it in one line. An unsetFASTMCP_HOMEis advisory,
not a failure — it is legal, just drift waiting to happen.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-