Tới nội dung chính
Blog

Dokploy là gì: nền tảng triển khai tự-host cho đội nhỏ

Trần Quốc BảoTrần Quốc Bảo · Kỹ sư an ninh mạng··7 phút đọc
Dokploy là gì: nền tảng triển khai tự-host cho đội nhỏ

Ảnh: imgix / Unsplash

Dokploy là một nền tảng triển khai ứng dụng tự-host: bạn cài nó lên máy chủ của mình, kết nối với kho mã nguồn, và từ đó mỗi lần đẩy code là ứng dụng được build thành Docker image rồi chạy lên, kèm tên miền và chứng chỉ HTTPS tự động. Nói ngắn gọn, nó cho bạn trải nghiệm giống Heroku hay Vercel nhưng trên hạ tầng bạn sở hữu.

Sức hút của nó nằm ở chỗ lấp đúng khoảng giữa: chạy Docker thủ công thì mệt và dễ sai, còn Kubernetes thì nặng và cần người chuyên trách. Dokploy đứng ở giữa, đủ tự động để không phải nhớ lệnh, đủ đơn giản để một người vẫn quản được.

Bài này giải thích Dokploy làm gì, bên trong gồm những gì, hợp với ai, và ba thứ mà người mới hay vấp khi đưa nó vào môi trường thật.

Dokploy làm được gì

Sau khi cài lên một máy chủ Linux, bạn làm việc với Dokploy qua giao diện web. Những việc chính:

  • Triển khai từ Git. Nối GitHub, GitLab, Gitea hoặc Bitbucket. Mỗi lần đẩy code lên nhánh đã chọn, nền tảng tự build và thay thế phiên bản đang chạy.
  • Chạy Docker Compose. Ứng dụng nào đã có sẵn file compose thì đưa thẳng vào, không cần viết lại.
  • Cơ sở dữ liệu có quản lý. Tạo PostgreSQL, MySQL, MariaDB, MongoDB hay Redis ngay trong giao diện, kèm lịch sao lưu.
  • Tên miền và HTTPS. Trỏ tên miền vào máy chủ, nền tảng xin chứng chỉ Let's Encrypt và tự gia hạn.
  • Kho mẫu ứng dụng. Cài nhanh các phần mềm mã nguồn mở phổ biến chỉ bằng vài cú bấm.
  • Nhật ký và giám sát. Xem log, mức dùng CPU và bộ nhớ của từng dịch vụ mà không cần vào máy chủ bằng SSH.

Bên trong Dokploy có gì

Dokploy không tự viết lại mọi thứ. Nó lắp ghép các thành phần quen thuộc và giấu phần cấu hình rắc rối đi.

Lớp chạy ứng dụng là Docker, ở chế độ Swarm, nên bạn có thể nhân bản dịch vụ và cập nhật cuốn chiếu mà không dừng hệ thống. Lớp định tuyến là Traefik, chịu trách nhiệm nhận request từ Internet rồi đưa tới đúng container, đồng thời lo chứng chỉ TLS. Phần build dùng Nixpacks hoặc Dockerfile của chính dự án, tùy bạn chọn.

Hiểu được kiến trúc này quan trọng hơn vẻ ngoài, vì khi có sự cố, thứ bạn phải mở ra xem là log của Traefik hay trạng thái service trong Swarm, chứ không phải một hộp đen mang tên Dokploy.

Ai nên dùng, ai không

Dokploy hợp khi bạn muốn tự chủ hạ tầng mà không muốn nuôi một đội vận hành. Cụ thể là các tình huống này:

  • Đội sản phẩm nhỏ chạy vài chục dịch vụ trên một hoặc vài VPS, muốn quy trình triển khai đều tay.
  • Tổ chức cần dữ liệu nằm trong nước hoặc trong mạng nội bộ, không đưa lên nền tảng nước ngoài.
  • Môi trường kiểm thử và staging cần dựng nhanh, xóa nhanh, chi phí thấp.

Ngược lại, có những chỗ nó không phải câu trả lời. Nếu bạn cần tự động co giãn theo tải trên nhiều cụm máy, cần chính sách mạng chi tiết giữa các dịch vụ, hoặc đã có sẵn đội vận hành quen Kubernetes, thì Dokploy sẽ thành cái áo chật. Nếu ứng dụng của bạn chỉ là một trang tĩnh, dùng nền tảng lưu trữ tĩnh còn rẻ và nhẹ hơn nhiều.

So với các lựa chọn khác

  • Dokploy. Chạy trên Docker Swarm, dễ bắt đầu, hỗ trợ nhiều máy chủ ở mức cơ bản. Hợp với đội nhỏ muốn tự chủ hạ tầng.
  • Coolify. Cùng phân khúc, chạy trên Docker, mạnh về số lượng tích hợp và mẫu dịch vụ có sẵn.
  • CapRover. Cũng dùng Docker Swarm, ra đời sớm hơn, thường được chọn cho dự án cá nhân.
  • Kubernetes. Khác hạng: co giãn tự động, chính sách mạng chi tiết, nhiều cụm. Đổi lại gần như bắt buộc phải có người vận hành chuyên trách.

Danh sách này không nhằm chọn ra người thắng. Ba nền tảng đầu giải quyết cùng một nhu cầu và khác nhau chủ yếu ở khẩu vị giao diện với hệ sinh thái plugin. Còn Kubernetes nằm ở hạng khác: nó mạnh hơn nhiều nhưng đổi lại là chi phí vận hành mà đội nhỏ thường trả không nổi.

Ba thứ người mới hay vấp

Phần này quan trọng hơn phần giới thiệu tính năng, vì đây là chỗ hệ thống thật khác với bản demo.

Không có ai canh cổng. Traefik là bộ định tuyến, không phải tường lửa ứng dụng. Một bản cài mặc định không lọc payload độc hại, không chặn dò mật khẩu, không giới hạn tần suất. Ứng dụng của bạn phơi thẳng ra Internet. Cách bịt lỗ này chúng tôi đã viết riêng một bài: thêm WAF và IPS ngay trên máy chủ Dokploy. Nếu muốn một lớp bảo vệ đầy đủ hơn và tự vận hành được, Orca WAAP là hướng đi kế tiếp.

Docker không hỏi tường lửa của bạn. Docker tự viết luật vào iptables, nên một cổng bạn tưởng đã chặn bằng UFW vẫn có thể mở ra ngoài. Sau khi cài xong, hãy kiểm tra từ một máy khác xem thực tế cổng nào đang lắng nghe, đừng tin vào lệnh liệt kê luật tường lửa.

Sao lưu chỉ tính khi đã khôi phục thử. Nền tảng có lịch sao lưu cơ sở dữ liệu, nhưng bản sao lưu không được kiểm tra thì chỉ là niềm tin. Hãy khôi phục thử vào một máy chủ trống ít nhất một lần, và đo xem mất bao lâu, vì con số đó chính là thời gian ngừng hoạt động của bạn trong ngày xấu trời.

Tự-host có phải lựa chọn đúng cho doanh nghiệp

Với nhiều tổ chức ở Việt Nam, câu hỏi không dừng ở tiện hay không tiện. Luật Bảo vệ dữ liệu cá nhân đặt ra nghĩa vụ với dữ liệu khách hàng, và một số loại dữ liệu thì đơn giản là không nên rời khỏi hạ tầng mà tổ chức kiểm soát. Khi đó, một nền tảng triển khai chạy trên máy chủ của chính mình không còn là sở thích kỹ thuật mà là cách đáp ứng yêu cầu.

Đổi lại, bạn nhận về trách nhiệm vá lỗi, giám sát và khôi phục. Đó là đánh đổi thật, cần cân nhắc tỉnh táo chứ không phải khẩu hiệu. Chúng tôi đã bàn kỹ hai hướng này trong bài on-premise hay cloud để tuân thủ dữ liệu.

Bắt đầu thế nào

Bạn cần một máy chủ Linux, tối thiểu khoảng 2 nhân và 2 GB RAM cho nhu cầu nhẹ, một tên miền trỏ về máy chủ đó, và cổng 80 với 443 mở ra ngoài. Cài đặt là chạy một lệnh, sau đó vào giao diện web tạo tài khoản quản trị.

Trước khi đưa ứng dụng thật lên, làm ba việc theo thứ tự: đổi cổng quản trị và giới hạn nguồn truy cập vào giao diện, dựng lớp lọc ở ingress, rồi chạy thử một lần khôi phục dữ liệu. Ba việc này mất một buổi, và tiết kiệm cho bạn những đêm không ngủ về sau.

Tóm lại

Dokploy là cách gọn gàng để có quy trình triển khai hiện đại trên hạ tầng của chính mình. Nó không thay thế Kubernetes, cũng không tự làm cho hệ thống của bạn an toàn. Phần nền tảng lo giúp bạn là build, định tuyến và chứng chỉ. Phần còn lại, từ lớp chắn ở cổng vào tới quy trình khôi phục, vẫn là việc của người vận hành, và đó mới là phần quyết định hệ thống sống sót được bao lâu.

Bài viết liên quan

Tài nguyên miễn phí

Checklist tuân thủ Luật Bảo vệ dữ liệu cá nhân

Rà soát doanh nghiệp trước khi Luật có hiệu lực 01/01/2026.

Tải checklist