Authelia User Manager — Tech Summary
Stack: Python 3.12 / Flask 3.1 — single-file app (app.py, 106 lines)
Container: Custom-built from python:3.12-slim
What it does: Web UI to manage Authelia’s users_database.yml file directly — no database of its own.
Features
- List users — shows username, display name, email, groups
- Add user — username, display name, email, password, groups (comma-separated)
- Delete user — with confirmation dialog
- Reset password — modal popup per user Key Details
- Password hashing: argon2id via argon2-cffi (time_cost=3, memory_cost=64MB, parallelism=4) — matches Authelia’s expected format
- Storage: Reads/writes directly to Authelia’s users_database.yml via a shared volume mount
- UI: Single-page dark theme, no JS framework — just vanilla JS for the password reset modal
- Auth: Protected by Authelia, login required to access the manager itself
- Dependencies: flask, pyyaml, argon2-cffi (3 packages total)