- VoidAuth là SSO mã nguồn mở cho self-hosted apps, đạt 2.100 GitHub stars sau 43 phiên bản phát hành.
- Hỗ trợ OIDC, OAuth 2.0, passkeys, MFA và ForwardAuth proxy mode - vượt trội hơn Authelia nhưng nhẹ hơn Keycloak.
- Chạy bằng Docker Compose trên PostgreSQL hoặc SQLite, thậm chí trên Raspberry Pi.
- License AGPL-3.0, miễn phí hoàn toàn.
TL;DR
VoidAuth là giải pháp SSO (Single Sign-On) mã nguồn mở, giúp bạn bảo vệ toàn bộ hệ sinh thái ứng dụng self-hosted bằng một điểm đăng nhập duy nhất. Hỗ trợ OIDC, OAuth 2.0, passkeys, MFA và ForwardAuth proxy mode - đủ mạnh để thay thế paid SSO như Okta, nhưng nhẹ hơn nhiều so với Keycloak. 2.100 GitHub stars, 43 phiên bản phát hành, v1.12.2, AGPL-3.0. Deploy bằng Docker Compose, chạy được cả trên Raspberry Pi.

Bài toán của người chạy self-hosted
Bạn có Nextcloud, Grafana, Gitea, WikiJS, Mastodon, một dashboard tự viết... mỗi service một bộ username/password riêng. Thêm người dùng mới phải vào từng service một. Xóa quyền truy cập khi ai đó rời team phải lặp lại quy trình tương tự. Đây là bài toán không có gì mới, nhưng rất ít giải pháp tìm được điểm cân bằng giữa đơn giản và đủ tính năng.
Authelia nhẹ nhưng chủ yếu là reverse proxy auth, thiếu quản lý group và invitation. Keycloak đầy đủ nhưng nặng và phức tạp cho homelab. Paid SSO (Okta, Entra ID) tốn tiền theo đầu user và tạo vendor lock-in. VoidAuth ra đời để lấp khoảng trống này.
Dưới nắp capô
VoidAuth hoạt động theo hai mode:
OIDC Provider: ứng dụng có native OIDC/OAuth2 support (Grafana, Gitea, Nextcloud...) kết nối trực tiếp qua giao thức chuẩn.
ForwardAuth/Proxy mode: ứng dụng không có OIDC support được bảo vệ qua reverse proxy (Nginx, Traefik) - VoidAuth đứng trước làm gatekeeper.
Stack kỹ thuật: 77.1% TypeScript, backend API + frontend admin portal + login portal. Database: PostgreSQL (khuyến nghị production) hoặc SQLite (homelab nhẹ). Cả hai hỗ trợ at-rest encryption qua STORAGE_KEY. Deploy bằng Docker Compose, đủ nhẹ để chạy trên Raspberry Pi.
Triển khai trong vài phút
VoidAuth deploy bằng Docker Compose - đây là cách nhanh nhất để bắt đầu:
services:
voidauth:
image: ghcr.io/voidauth/voidauth:latest
environment:
APP_URL: https://auth.yourdomain.com
STORAGE_KEY: your-32-char-encryption-key
DB_TYPE: sqlite
ports:
- "3000:3000"
volumes:
- ./data:/app/dataSau khi container chạy, truy cập APP_URL để tạo admin account đầu tiên. Kết nối Grafana hoặc Gitea bằng cách thêm OIDC client trong admin panel - chọn application, copy client ID/secret, dán vào config của service cần bảo vệ. ForwardAuth mode yêu cầu thêm middleware vào Nginx/Traefik nhưng không cần sửa code ứng dụng.
Tính năng đáng chú ý
Passkeys & WebAuthn: đăng nhập không cần password, hardware key support
MFA: xác thực hai yếu tố cho tất cả user
Group management: phân quyền theo nhóm, invitation link, self-registration có thể bật/tắt
Custom branding: thay logo, màu theme, custom email template - mỗi deployment có giao diện riêng
At-rest encryption: dữ liệu trong database được mã hóa tự động
Admin panel: quản lý user, group, settings tập trung - không cần SSH vào server
VoidAuth vs phần còn lại
Tiêu chí | VoidAuth | Authelia | Keycloak | Paid SSO |
|---|---|---|---|---|
Độ phức tạp | Nhẹ, tập trung | Tối giản | Enterprise | Enterprise |
OIDC Provider | Có | Hạn chế | Có | Có |
Group & Invitation | Có | Không | Có | Có |
Passkeys/WebAuthn | Có | Hạn chế | Có | Có |
Chi phí | Miễn phí | Miễn phí | Miễn phí | Per-user fee |
Vendor lock-in | Không | Không | Không | Cao |
VoidAuth lấp khoảng trống giữa Authelia (quá đơn giản) và Keycloak (quá phức tạp), phù hợp nhất cho lab từ 5-20 services.
Hạn chế cần biết
VoidAuth chưa qua security audit - điểm này cần lưu ý rõ ràng. Phù hợp cho internal use, lab cá nhân, team nội bộ nhỏ. Không khuyến nghị cho hệ thống public-facing có dữ liệu nhạy cảm cao hoặc yêu cầu compliance (SOC2, HIPAA).
Hạn chế khác: không hỗ trợ SAML (chỉ OIDC/OAuth2), không có managed SaaS (tự host hoàn toàn), AGPL-3.0 nghĩa là derivative works phải open-source.
Ai nên dùng ngay
VoidAuth phù hợp nếu bạn:
Đang chạy 5+ self-hosted services và mệt mỏi với việc quản lý user riêng lẻ từng app
Muốn loại bỏ chi phí per-user của Okta/Entra cho team nhỏ nội bộ
Tìm giải pháp nhẹ hơn Keycloak nhưng đầy đủ tính năng hơn Authelia
Ưu tiên deployment sovereignty - dữ liệu xác thực hoàn toàn trên server của bạn
Tiếp theo
VoidAuth đang ở v1.12.2 với 43 phiên bản phát hành và 2.100 GitHub stars - đủ trưởng thành để dùng cho homelab và internal tooling. Dự án vẫn đang active development với 41 open issues, cộng đồng tích cực phản hồi.
Thử ngay: github.com/voidauth/voidauth | Docs: voidauth.app
