Quay lại danh sách
Tin tức công nghệ

Hướng dẫn tự dựng Penpot tích hợp Authentik SSO trên VPS: Giải pháp tối ưu cho doanh nghiệp

30 tháng 5, 2026

Giới thiệu xu hướng tối ưu hóa hạ tầng thiết kế và xác thực

Trong kỷ nguyên chuyển đổi số, việc quản lý và bảo mật dữ liệu thiết kế sản phẩm ngày càng trở nên quan trọng đối với các doanh nghiệp công nghệ. Hiện nay, Penpot đã nổi lên như một giải pháp thay thế mạnh mẽ, mã nguồn mở (open-source) hàng đầu cho các công cụ thiết kế giao diện (UI/UX) độc quyền. Việc tự vận hành (self-host) Penpot trên máy chủ ảo cá nhân (VPS) không chỉ giúp doanh nghiệp kiểm soát tuyệt đối 100% tài sản trí tuệ mà còn cắt giảm đáng kể chi phí bản quyền định kỳ.

Tuy nhiên, thách thức lớn nhất khi triển khai nhiều công cụ nội bộ là quản trị tài khoản người dùng. Đó là lý do tại sao việc tích hợp hệ thống đăng nhập đơn single sign-on (SSO) như Authentik trở thành một tiêu chuẩn bắt buộc. Bài viết này sẽ hướng dẫn chi tiết cách tự dựng hệ thống Penpot kết hợp Authentik SSO thông qua Docker và giao thức OpenID Connect (OIDC), mang lại trải nghiệm mượt mà và bảo mật cấp độ doanh nghiệp.

Lợi ích chiến lược của bộ đôi Penpot và Authentik SSO

Trước khi đi vào các bước kỹ thuật, chúng ta cần hiểu rõ tại sao sự kết hợp này lại mang lại giá trị to lớn cho doanh nghiệp:

  • Tiết kiệm chi phí tối đa: Loại bỏ hoàn toàn chi phí bản quyền tính theo đầu người (per-user) hàng tháng của các công cụ SaaS thương mại.
  • Bảo mật và toàn vẹn dữ liệu: Toàn bộ file thiết kế, thông tin người dùng và lịch sử chỉnh sửa được lưu trữ nội bộ trên VPS của doanh nghiệp, tuân thủ các tiêu chuẩn bảo mật khắt khe nhất.
  • Quản lý định danh tập trung: Quản trị viên hệ thống chỉ cần quản lý tài khoản tại một nơi duy nhất (Authentik). Khi nhân sự thay đổi, việc thu hồi quyền truy cập vào Penpot diễn ra tức thì chỉ bằng một cú nhấp chuột.

Chuẩn bị môi trường hệ thống trên VPS

Để đảm bảo hệ thống vận hành ổn định với hiệu năng cao cho đội ngũ thiết kế, cấu hình VPS khuyến nghị cần đáp ứng các thông số sau:

  • Hệ điều hành: Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS.
  • Cấu hình phần cứng tối thiểu: 2 vCPU, 4GB RAM và 40GB ổ cứng SSD/NVMe.
  • Yêu cầu bổ sung: Đã cài đặt sẵn Docker và Docker Compose phiên bản mới nhất; sở hữu một tên miền (domain) và đã trỏ các bản ghi A (ví dụ: penpot.company.com và authentik.company.com) về IP của VPS.

Bước 1: Thiết lập cấu hình ứng dụng trên Authentik

Đầu tiên, chúng ta cần chuẩn bị đầu mối xác thực trên giao diện quản trị của Authentik để cấp quyền cho Penpot kết nối thông qua giao thức OIDC.

Tạo Provider trong Authentik

  1. Đăng nhập vào bảng điều khiển Authentik Admin Interface.
  2. Chuyển đến mục Applications và chọn Providers, sau đó nhấn Create.
  3. Chọn loại OAuth2/OpenID Provider và điền các thông tin cơ bản:
    • Name: Penpot Provider
    • Authentication flow: Chọn luồng xác thực mặc định của bạn (ví dụ: default-authentication-flow).
    • Authorization flow: Chọn default-provider-authorization-implicit-consent.
  4. Tại mục Redirect URIs/Origins, điền URL callback của Penpot chính xác theo cấu trúc: [https://penpot.company.com/js/login/callback](https://penpot.company.com/js/login/callback).
  5. Nhấn Finish để lưu lại. Sau khi tạo xong, hãy ghi lại hai thông số cực kỳ quan trọng là Client ID và Client Secret.

Tạo Application để liên kết

  1. Cũng tại mục Applications, chọn tiếp Applications và nhấn Create.
  2. Điền thông tin bao gồm:
    • Name: Penpot Design System
    • Slug: penpot
    • Provider: Chọn Penpot Provider vừa tạo ở bước trước.
  3. Nhấn Create để hoàn tất quy trình cấu hình phía Authentik.

Bước 2: Cấu hình Docker Compose cho Penpot tích hợp OIDC

Bây giờ, chúng ta tiến hành cấu hình Penpot trên VPS. Hãy tạo một thư mục làm việc mới và tải file cấu hình mẫu chính thức từ kho lưu trữ của Penpot:

mkdir ~/penpot && cd ~/penpot
wget [https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml](https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml)

Tiếp theo, mở file docker-compose.yaml hoặc file môi trường .env (nếu có) bằng trình chỉnh sửa mã (ví dụ: nano) để tiến hành khai báo các biến môi trường cấu hình cho hệ thống xác thực tập trung. Tìm đến phân đoạn cấu hình của dịch vụ penpot-frontend và penpot-backend, sau đó bổ sung hoặc chỉnh sửa các tham số OIDC như sau:

  • PENPOT_OIDC_BASE_URI=[https://authentik.company.com/application/o/penpot/](https://authentik.company.com/application/o/penpot/) (Đường dẫn endpoint OIDC của Authentik)
  • PENPOT_OIDC_CLIENT_ID=chuỗi_client_id_đã_lấy_từ_authentik
  • PENPOT_OIDC_CLIENT_SECRET=chuỗi_client_secret_đã_lấy_từ_authentik
  • PENPOT_OIDC_USER_ATTR=preferred_username
  • PENPOT_FLAGS=enable-login-with-oidc disable-email-verification disable-login-with-password

Lưu ý quan trọng: Việc thêm flag disable-login-with-password sẽ giúp vô hiệu hóa hoàn toàn phương thức đăng nhập bằng mật khẩu truyền thống, bắt buộc tất cả thành viên phải đi qua cổng Authentik SSO, từ đó nâng cao tính bảo mật tuyệt đối cho hệ thống doanh nghiệp.

Bước 3: Khởi chạy hệ thống và cấu hình Reverse Proxy

Sau khi đã điền đầy đủ các thông số cấu hình, thực hiện lệnh sau để Docker tự động tải các image cần thiết và khởi chạy các container ngầm (detached mode):

docker compose up -d

Để người dùng có thể truy cập hệ thống an toàn qua giao thức HTTPS bảo mật, bạn cần thiết lập một Reverse Proxy (như Nginx, Traefik hoặc Caddy) đứng trước và cấu hình chứng chỉ SSL Let's Encrypt miễn phí. Đảm bảo cấu hình proxy chuyển tiếp chính xác các cổng kết nối nội bộ của Penpot (mặc định thường là cổng 9001) ra bên ngoài môi trường internet công cộng.

Kiểm tra và vận hành thực tế

Khi quá trình cài đặt hoàn tất, hãy mở trình duyệt web và truy cập vào địa chỉ tên miền [https://penpot.company.com](https://penpot.company.com). Lúc này, giao diện đăng nhập của Penpot sẽ không hiển thị các trường nhập email/mật khẩu thông thường mà thay vào đó là nút "Login with OIDC" (hoặc tự động chuyển hướng).

Khi người dùng nhấn vào nút này, hệ thống sẽ chuyển hướng một cách mượt mà sang giao diện đăng nhập tập trung của Authentik. Sau khi xác thực tài khoản thành công (bao gồm cả xác thực 2 lớp MFA nếu doanh nghiệp có cấu hình), Authentik sẽ cấp mã token bảo mật và đưa người dùng trở lại không gian làm việc của Penpot với đầy đủ quyền hạn được thiết lập.

Lời kết

Việc tự triển khai hệ thống thiết kế giao diện cộng tác Penpot tích hợp Authentik SSO trên máy chủ VPS là bước đi chiến lược giúp doanh nghiệp vừa tối ưu hóa chi phí vận hành, vừa nâng cao năng lực bảo mật và làm chủ công nghệ. Hy vọng hướng dẫn chi tiết trên sẽ giúp bộ phận IT của doanh nghiệp triển khai thành công hệ thống này, tạo tiền đề vững chắc cho đội ngũ thiết kế sáng tạo không giới hạn.

Hướng dẫn tự dựng Penpot tích hợp Authentik SSO trên VPS: Giải pháp tối ưu cho doanh nghiệp | DPTCloud