Auth that just works
Password with argon2id, WebAuthn/passkeys, email verification, 2FA (email or passkey-as-2FA), password reset. Sessions via httpOnly JWT cookies with rotation on password change.
Password + passkey auth, OIDC provider, admin panel, and i18n — in a single self-contained container.
The app image is published to the GitLab container registry as registry.gitlab.com/meowww_dev/schleuse:latest, so a fresh host only needs Docker and a compose file — no source tree, no build step.
# Copy the example config and fill in the minimum required values
cp .env.example .env
# Edit: NUXT_DATABASE_URL, NUXT_ISSUER, NUXT_APP_URL,
# NUXT_RP_ID, NUXT_RP_NAME, NUXT_RP_ORIGIN,
# NUXT_OIDC_CLIENTS_JSON
docker compose pull
docker compose up -dApp at http://localhost:5000. The first user to register is auto-promoted to admin.
Continue to the Getting started guide →
Because the existing options are either too big (Keycloak, Authelia, Zitadel — each with their own database, queue, and dashboard to operate) or too small (roll-your-own JWT servers that skip CSRF, skip rate limits, and don't ship a UI).
Schleuse sits in between: a sidecar you can drop next to your product, point your OIDC clients at, and forget. Under 300 KB of shipped code, ~125 tests, docker-compose up.