Tự triển khai Penpot: Hướng dẫn Docker Compose dành cho các nhóm thiết kế
Một hướng dẫn mới chi tiết cách triển khai nền tảng thiết kế mã nguồn mở Penpot bằng Docker Compose, Traefik và PostgreSQL trên máy chủ Linux.
Bài được dịch tự động từ bản gốc tiếng Anh.
Sanskriti Harmukh và Aashish Chaurasiya đã công bố một hướng dẫn triển khai chi tiết cho Penpot vào ngày 30 tháng 9 năm 2026. Bài viết trình bày cách chạy nền tảng thiết kế và tạo nguyên mẫu mã nguồn mở này trên máy chủ Linux riêng tư bằng Docker Compose, cung cấp một giải pháp thay thế cho các công cụ thiết kế dựa trên đám mây.
Điều gì đã xảy ra
Hướng dẫn cung cấp quy trình từng bước để thiết lập Penpot trong môi trường tự quản lý (self-hosted). Nó dựa trên một stack gồm sáu dịch vụ dạng container hoạt động cùng nhau để mang lại trải nghiệm ứng dụng hoàn chỉnh. Kiến trúc bao gồm frontend cho giao diện người dùng, backend cho logic ứng dụng, exporter để kết xuất tài nguyên, cơ sở dữ liệu PostgreSQL để lưu trữ bền vững, một instance Valkey cho trạng thái tạm thời và Traefik để xử lý reverse proxying và TLS termination.
Các tác giả nhấn mạnh việc sử dụng các tiêu chuẩn web mở, lưu ý rằng Penpot lưu trữ tệp ở định dạng SVG để giữ cho thiết kế và mã luôn đồng bộ. Quy trình triển khai được thiết kế để có thể tái tạo, sử dụng tệp docker-compose.yml để xác định các dịch vụ. Hướng dẫn cũng đề cập đến cấu hình sau khi triển khai, chẳng hạn như tạo tài khoản quản trị đầu tiên và xác minh rằng chứng chỉ HTTPS đã được Let's Encrypt cấp phát chính xác.
Chi tiết quan trọng
- Quá trình triển khai sử dụng PostgreSQL 15 để lưu trữ dữ liệu và Valkey 8.1 cho thông báo websocket và quản lý trạng thái tạm thời.
- Traefik xử lý reverse proxying và tự động cấp phát chứng chỉ Let's Encrypt qua các cổng 80 và 443.
- Dịch vụ
penpot-exporterchịu trách nhiệm kết xuất các bảng thiết kế và tệp sang các định dạng PNG, SVG và PDF. - Xác minh email bị vô hiệu hóa trong cấu hình mặc định, cho phép tài khoản đầu tiên kích hoạt ngay lập tức sau khi đăng ký.
- Lời mời tham gia nhóm yêu cầu cấu hình SMTP; nếu không có nó, email lời mời sẽ không được gửi cho cộng sự.
- Hướng dẫn xác thực thiết lập bằng cách đi qua một quy trình làm việc end-to-end, bao gồm tạo nhóm, thiết kế màn hình và liên kết các nguyên mẫu.
Bối cảnh
Penpot là một giải pháp thay thế mã nguồn mở cho các công cụ thiết kế độc quyền như Figma hoặc Sketch. Nó được xây dựng cho các nhà thiết kế, nhà phát triển và nhóm sản phẩm muốn duy trì quyền kiểm soát đối với dữ liệu thiết kế của họ. Bằng cách chạy hoàn toàn trong trình duyệt và sử dụng SVG làm định dạng tệp gốc, nó nhằm mục đích giảm bớt rào cản giữa giai đoạn thiết kế và phát triển. Việc tự triển khai một nền tảng như vậy cho phép các tổ chức giữ tài sản trí tuệ thiết kế nhạy cảm trên hạ tầng riêng của họ thay vì phụ thuộc vào các nhà cung cấp đám mây bên thứ ba.
Docker Compose là một công cụ để định nghĩa và chạy các ứng dụng Docker đa container. Trong bối cảnh này, nó điều phối các microservices khác nhau tạo nên Penpot. Traefik là một reverse proxy HTTP hiện đại và load balancer giúp việc triển khai microservices trở nên dễ dàng. Nó tích hợp với các thành phần hạ tầng hiện có và tự cấu hình một cách động và tự động. Valkey là một kho lưu trữ key-value mã nguồn mở, hiệu suất cao, thường được sử dụng như một giải pháp thay thế trực tiếp cho Redis, xử lý các cập nhật thời gian thực và dữ liệu phiên trong stack này.
Tại sao điều này quan trọng
Đối với các trưởng nhóm IT và kỹ sư DevOps tại các công ty vừa và nhỏ, hướng dẫn này cung cấp một lộ trình rõ ràng để nội bộ hóa công cụ thiết kế. Nhiều tổ chức ngày càng thận trọng về việc lưu trữ các thiết kế sản phẩm độc quyền trên các nền tảng SaaS bên ngoài do các yêu cầu tuân thủ hoặc lo ngại về chủ quyền dữ liệu. Bằng cách cung cấp một cấu hình Docker Compose đã được kiểm thử, các tác giả hạ thấp rào cản gia nhập cho các nhóm muốn chuyển đổi khỏi các công cụ thiết kế đám mây theo mô hình thuê bao.
Việc sử dụng các thành phần tiêu chuẩn như PostgreSQL và Traefik có nghĩa là các quản trị viên hệ thống (sysadmins) có thể tận dụng các chiến lược giám sát và sao lưu hiện có. Vì cơ sở dữ liệu được hiển thị dưới dạng một instance PostgreSQL 15 tiêu chuẩn, nó có thể được sao lưu bằng các công cụ quen thuộc. Sự phân tách mối quan tâm giữa frontend, backend và exporter cũng cho phép dễ dàng khắc phục sự cố và tiềm năng mở rộng quy mô các thành phần cụ thể nếu nhóm thiết kế phát triển.
Tuy nhiên, việc tự triển khai đặt ra các trách nhiệm vận hành. Hướng dẫn lưu ý rằng cấu hình SMTP là cần thiết cho các tính năng cộng tác như lời mời tham gia nhóm. Nếu không có máy chủ mail được cấu hình đúng cách, khối lượng công việc quản trị sẽ tăng lên khi các admin phải tự quản lý quyền truy cập người dùng một cách thủ công. Ngoài ra, việc quản lý chứng chỉ TLS và đảm bảo sức khỏe của các container Valkey và PostgreSQL đòi hỏi sự chú ý liên tục từ đội ngũ hạ tầng.
Bạn có thể làm gì
- Xem xét tệp Docker Compose để hiểu các yêu cầu tài nguyên cho mỗi trong sáu dịch vụ trước khi cung cấp máy chủ của bạn.
- Cấu hình một nhà cung cấp SMTP đáng tin cậy trong các biến môi trường để bật lời mời email và đặt lại mật khẩu cho nhóm của bạn.
- Thiết lập sao lưu tự động cho volume PostgreSQL và volume
penpot_assetsđể ngăn ngừa mất dữ liệu. - Kiểm tra quy trình làm việc end-to-end bằng cách tạo một nhóm thử nghiệm, nhập một tệp SVG đơn giản và xác minh rằng exporter tạo ra các tệp PDF chính xác.
- Giám sát các kiểm tra sức khỏe cho
penpot-postgresvàpenpot-valkeyđể đảm bảo backend chỉ khởi động khi các dependency sẵn sàng. - Cân nhắc tích hợp Penpot với nhà cung cấp danh tính hiện có của bạn nếu bạn cần kiểm soát truy cập mạnh mẽ hơn so với xác thực email tích hợp sẵn.



