Single Sign-On for Your Self-Hosted Universe
What is VoidAuth
VoidAuth is an open-source SSO authentication and user management provider that stands guard in front of your self-hosted applications. It is easy-to-use for admins and end-users, supports nice-to-have features like passkeys, user invitation, self-registration, email support, and more!
Features:
- 🌐 OpenID Connect (OIDC) Provider
- 🔄 Proxy ForwardAuth
- 👤 User and Groups Management
- 📨 User Self-Registration and Invitations
- 🎨 Customizable (Logo, Title, Theme Color, Email Templates)
- 🔑 Multi-factor Authentication, Passkeys, and Passkey-Only Accounts
- 📧 Secure Password Reset with Email Verification
- 🔒 Encryption-At-Rest with Postgres or SQLite Database
Admin Panel
Administrators can access the Admin Panel in the sidebar menu, where they can manage users and settings.
Quick Start
Getting started with VoidAuth is straightforward, the recommended approach is to add VoidAuth to a compose.yml file:
services: # --------------------------------- # Your reverse-proxy service here: # caddy, traefik, nginx, etc. # --------------------------------- voidauth: image: voidauth/voidauth:latest restart: unless-stopped volumes: - ./voidauth/config:/app/config environment: # Required environment variables # More environment variable options can be found # on the Getting Started page. APP_URL: # required, ex. https://auth.example.com STORAGE_KEY: # required DB_PASSWORD: # required, same as voidauth-db POSTGRES_PASSWORD DB_HOST: voidauth-db # required depends_on: voidauth-db: condition: service_healthy voidauth-db: image: postgres:18 restart: unless-stopped environment: POSTGRES_PASSWORD: # required, same as voidauth DB_PASSWORD volumes: - db:/var/lib/postgresql/18/docker healthcheck: test: "pg_isready -U postgres -h localhost" volumes: db:
After creating/updating the compose.yml file and filling in the required environment variables, run docker compose up -d and visit your APP_URL to get started.
Important
After VoidAuth starts for the first time, find the initial administrator username and password in the logs: docker compose logs voidauth. Use these credentials to log in and change the default username and password or create a separate user for yourself.
Tip
Users are created by administrators on the Invitations page by creating a new Invitation, then sending the invitation link.
Please see the Getting Started page for setup details and configuration options.
Support
Issues, Suggestions, and Feature Requests should be added as Issues of the appropriate type. For Help and Support, Q&A, or anything else; open a Discussion. This project is actively monitored, I will likely respond quickly.
Contributing
Please read the CONTRIBUTING.md
Disclaimer
VoidAuth has not been audited and uses 3rd party packages for much of its functionality, use at your own risk.
Credits
This project would not be possible without the incredible work of others. For a full list of dependencies, see the package.json and frontend/package.json files.
Sponsors

