- Update dashboard buttons to use correct Authelia paths:
/settings/two-factor-authentication and /settings/security
- Change customer stack ACL from one_factor to two_factor so Authelia
enables the 2FA registration UI (passkeys, TOTP)
Made-with: Cursor
Replaces the generic "Account Settings" button with a dedicated card
containing passkey, TOTP, and password links plus a warning about
enabling 2FA to prevent account compromise.
Made-with: Cursor
Replace per-form onsubmit handlers with a single script that handles
all data-stack-action forms identically: confirm if needed, then
disable the button and show a contextual loading label.
Made-with: Cursor
- Inverted condition was showing 'being provisioned' when stack not deployed
- Actions block was gated on StackDeployed so no Start button after destroy
- Start button now always shown when not running
- Destroy button only shown when stack is deployed
- 'Being provisioned' message replaced with accurate 'stopped' message
Made-with: Cursor
- Remove public/private toggle — all customer stacks now always deploy
behind authelia-auth middleware, no exceptions
- Remove ALLOW_CUSTOMER_STACK_AUTH_TOGGLE and CUSTOMER_STACK_REQUIRE_AUTH_DEFAULT
config, env vars, routes, and UI
- Replace docker-compose.dev.yml + docker-compose.swarm-dev.yml with
unified stack.yml for swarm deployment
- Various handler, ldap, stripe, swarm, and template additions from
prior work sessions
Made-with: Cursor
- Add internal/version package with ldflags-injected Commit/BuildTime
- Dockerfile accepts BUILD_COMMIT/BUILD_TIME args, passes via -ldflags
- Log version on startup, expose GET /version endpoint
- Show commit hash badge in bottom-right of landing + dashboard pages
- Deploy scripts gate on clean git tree and pass commit to build
- Remove staging files, misc config updates
Made-with: Cursor