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.

VoidAuth login portal và admin UI

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/data

Sau 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

Hạn chế

Group & Invitation

Không

Passkeys/WebAuthn

Hạn chế

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

Via: GitHub - voidauth/voidauth, Cloud News.