doxa-maps/deployment
Doxa Maps f1500a37c2 Cloud container: ACCESS=public, a public Plugin Studio with the admin parts behind a password
The container needed an OIDC provider to run PocketBase at all. With ACCESS=public:
- The Studio, every map and the backend's public API are open, with no sign-in. Vite owns
  the public port and forwards /cdn/, /api-prod/, /pb/ and /admin/ to admin.mjs, whose gates
  decide.
- /admin/ (publishing), PocketBase's dashboard and _superusers ask for ADMIN_USER /
  ADMIN_PASSWORD over HTTP Basic, compared in constant time. The container refuses to start
  without ADMIN_PASSWORD. In this mode X-Forwarded-Groups is never read: with no oauth2-proxy
  in front, it is whatever a visitor sends.
- Rudder's voice engine stays off. Gated bundles (gatedProfiles) are refused even by URL:
  source, @fs, dev leaf. Vite's /__open-in-editor is refused.
OIDC stays the other mode, unchanged. In BOTH modes the Studio's own /api/pb (the dev backend
plugin) now goes through admin.mjs's /pb (DX_PB_URL). The dashboard and _superusers stay
behind the same gates, and plugins that use PocketBase work in the container's Studio; they
got a 503 before.

Checked: bash -n; the mode selection (public / gated / open); a missing password stops the
container. The admin gate and the public guard, taken from these files, pass 20/20:
- password right / wrong / wrong user;
- a spoofed groups header ignored;
- 401 + Basic prompt;
- gated mode unchanged;
- no password = no admin;
- every form of a gated path refused and the rest passed.
2026-09-29 05:31:37 +00:00
..
capacitor/android consolidate docs into documentation/ and deployment shells into deployment/ 2026-09-21 23:23:23 +00:00
cloud Cloud container: ACCESS=public, a public Plugin Studio with the admin parts behind a password 2026-09-29 05:31:37 +00:00
src-tauri bun run desktop:build <plugin> packages a desktop plugin as an app; check:targets keeps non-web plugins out of the web build 2026-09-28 06:44:14 +00:00
wordpress Decouple deployment/: no go-base / nuxtbase / doxa-base names in the Tauri README, the WordPress how-to and its contract test 2026-09-26 22:06:57 +00:00