Guide
RFC 6238 time-based one-time passwords work with any authenticator app (Google Authenticator, Microsoft Authenticator, Authy, 1Password, and others). You generate a secret once, store it in the server environment, pair your phone, then confirm codes on the tool page before relying on login.
At least one second factor is required for this deployment: configure TOTP here, or WebAuthn in WebAuthn setup, or both for redundancy.
ACCESS_USERNAME and ACCESS_PASSWORD must already be set so the TOTP tool can bind the secret to the same admin identity as login.ACCESS_USERNAMEScan the QR with your authenticator, or type the Base32 secret manually. The secret never leaves your control if you only paste it into env and your password manager— do not embed it in client-side code or public repos.
Put the secret string into ACCESS_TOTP_SECRET (single line, no spaces). See Environment variables for the full list of keys.
/totpIf verification fails immediately after pairing, wait for the next 30s window, confirm the account in the app matches this site label, and check system time on both devices.