Theo bảng giá niêm yết hiện nay, một nhóm 3 người dùng GitHub Team, Vercel Pro, Sentry Team, Linear Basic và Notion Plus khởi điểm khoảng 158 USD mỗi tháng, chưa tính 1Password, phí theo mức sử dụng và các gói bổ sung. Một bộ công cụ tự lưu trữ được khoanh vùng cẩn thận có thể cắt giảm đáng kể hóa đơn đó, nhưng phép so sánh công bằng phải tính cả một VPS lớn hơn mức thử nghiệm 4 GB và thời gian bảo trì mà ai cũng quên.
Hướng dẫn này dành cho lập trình viên hoặc nhóm nhỏ đã kết luận rằng “hóa đơn SaaS thật phiền” và “giữ mã nguồn riêng cùng quy trình phát triển trên hạ tầng của bên thứ ba khiến ta không yên tâm”, và giờ muốn biết cụ thể phải chạy những gì. Bộ công cụ gồm bốn lớp: mã nguồn, build và triển khai, vận hành, và tài liệu. Mỗi lớp có một công cụ được khuyến nghị, một lựa chọn thay thế, chi phí tài nguyên và kiểu hỏng hóc. Phạm vi là dùng riêng tư và theo nhóm trên một VPS duy nhất. Lưu trữ email, DNS, xác thực cho khách hàng cuối và Kubernetes nằm ngoài phạm vi, vì những lý do chúng tôi sẽ nêu ở đúng chỗ.
Phiên bản ngắn gọn
Nếu bạn chỉ đọc các gạch đầu dòng:
- Mã: Mặc định chọn Forgejo. Chỉ dùng GitLab CE nếu bạn muốn git, CI/CD, registry và issue trong cùng một sản phẩm; mức nền hiện tại của GitLab cho một node là 16 GB RAM, còn 8 GB dành riêng cho môi trường eo hẹp bộ nhớ.
- Build và triển khai: Coolify on the current stable release (v4.3.0 at QC time), with the dashboard kept off the public internet. Dokku suits solo developers; pure Docker Compose suits teams that prefer visible moving parts.
- Chạy: Vaultwarden cho thông tin đăng nhập dùng chung, Uptime Kuma để giám sát, GlitchTip để theo dõi lỗi, và Portainer hoặc Dockge để quản lý container. GlitchTip là một triển khai nhỏ hơn nhiều so với Sentry tự lưu trữ, vốn có mức tối thiểu chính thức là 16 GB RAM cộng 16 GB swap.
- Tài liệu: Docmost cho tài liệu và OpenProject (hoặc Plane) để theo dõi issue. AFFiNE hợp với nhóm thích mô hình Notion kiểu canvas.
- Chọn cấu hình: Hãy xem 4 GB là cỡ phòng thí nghiệm cho vài dịch vụ nhẹ, 8 GB là bản thử nghiệm rút gọn không có OpenProject, Plane hay build cục bộ, và 16 GB là điểm khởi đầu thực tế cho bộ công cụ dựa trên Forgejo đầy đủ trong hướng dẫn này. Mức nền 8 vCPU/16 GB của GitLab áp dụng cho chính GitLab, nên một bộ gộp trong một máy dựa trên GitLab đòi hỏi thêm dung lượng hoặc phải kiểm thử tải riêng.
- Điểm thua thiệt: Các dự án mã nguồn mở công khai có người đóng góp bên ngoài. Hiệu ứng mạng của GitHub là có thật, và tự lưu trữ khiến bạn mất khả năng được tìm thấy.
Điều kiện tiên quyết
Trước khi đọc tiếp, hướng dẫn này giả định:
- Một VPS Linux đã cài Docker và Docker Compose. Hãy tính khoảng 16 GB RAM cho bộ công cụ dựa trên Forgejo đầy đủ; 8 GB là đủ cho bản thử nghiệm rút gọn bỏ đi các công cụ quản lý dự án nặng và build cục bộ.
- Từ 30 đến 60 phút tập trung cho mỗi lớp khi triển khai lần đầu.
- Thoải mái đọc một tệp Compose và chỉnh các biến môi trường.
- Sẵn sàng duy trì một khung thời gian cập nhật đều đặn, vá lỗi bảo mật kịp thời, và kiểm chứng bản sao lưu chứ không chỉ cấu hình chúng.
Nếu bất kỳ điều nào trong số đó là không thể chấp nhận, bộ SaaS thực sự là câu trả lời đúng cho nhóm của bạn. Đó là một lựa chọn có thể bảo vệ được, không phải một thất bại.
Xây dựng trên VPS Linux với quyền root, NVMe và sức mạnh AMD EPYC.
Xem các gói LinuxLớp 1, mã nguồn: Forgejo, Gitea hoặc GitLab CE
Ba lựa chọn khả thi, ba điểm khác nhau trên đường cong tài nguyên và quản trị. Với những ai mới bắt đầu tự lưu trữ năm 2026, khuyến nghị là Forgejo trước tiên.
Forgejo được thiết kế cho hạ tầng khiêm tốn và cung cấp pull request, theo dõi issue, bảng dự án, wiki, registry gói và Forgejo Actions. Workflow của nó dùng định dạng kiểu GitHub Actions, nhưng khả năng tương thích không tuyệt đối; hãy kiểm thử mọi action của bên thứ ba mà pipeline của bạn phụ thuộc vào.
Chỉ chọn Gitea nếu bạn đã phụ thuộc vào một tính năng chỉ Gitea mới có, hoặc công cụ của bạn bị ghim vào một phiên bản Gitea. Bản thân mã nguồn không có gì sai. so sánh chính thức của Forgejo cho biết bản fork ra đời sau khi tên miền và thương hiệu của Gitea được chuyển cho một công ty vì lợi nhuận vào tháng 10 năm 2022 mà không có sự chấp thuận của cộng đồng; thông báo về giấy phép của Forgejo ghi nhận GPL v3+ cho các phiên bản từ v9.0 trở đi.
Hãy chọn GitLab CE nếu bạn muốn một sản phẩm duy nhất cho git, CI/CD, registry container và theo dõi issue, và bạn kham nổi mức tài nguyên sàn của nó. Yêu cầu hiện tại của GitLab đặt 16 GB RAM và 8 vCPU làm mức nền cho một node; còn 8 GB dành cho môi trường eo hẹp bộ nhớ. Gitea đủ nhẹ để chạy một instance riêng nhỏ trong khoảng 1 đến 2 GB RAM, và Forgejo cũng tương đương, nhưng việc chọn cấu hình cho môi trường sản xuất của cả hai vẫn phụ thuộc vào số kho mã, runner và số người dùng đồng thời.
| Công cụ | Tài nguyên khởi điểm | Quản trị | Giấy phép | CI/CD tích hợp | Khi nào nên chọn |
|---|---|---|---|---|---|
| Forgejo | 1-2 vCPU / 1-2 GB RAM (ước tính khi dùng nhẹ) | Do cộng đồng dẫn dắt (Codeberg e.V.) | GPL v3+ (v9.0+) | Forgejo Actions; hãy kiểm thử tương thích | Lựa chọn mặc định cho người mới tự lưu trữ năm 2026 |
| Gitea | 1-2 vCPU / 1-2 GB RAM (ước tính khi dùng nhẹ) | Vì lợi nhuận (Gitea Ltd, từ tháng 10 năm 2022) | MIT | Gitea Actions; hãy kiểm thử tương thích | Đã có sự phụ thuộc vào Gitea hoặc công cụ bị ghim vào một phiên bản cụ thể |
| GitLab CE | 8 vCPU / 16 GB RAM baseline; 8 GB constrained | GitLab Inc | MIT (Community Edition) | Tích hợp sẵn, đầy đủ tính năng | Muốn một nền tảng duy nhất cho git, CI/CD, registry và issue, và bạn có đủ RAM |
Vấn đề CI đáng được nêu rõ. Gitea Actions được thiết kế để tương thích phần lớn với GitHub Actions, còn Forgejo Actions chủ ý hướng tới sự quen thuộc thay vì tương thích hoàn toàn. Nhiều workflow chỉ cần chỉnh sửa nhỏ, nhưng image của runner, quyền, context, nhãn và action của bên thứ ba có thể hành xử khác đi. Hãy kiểm thử mọi workflow và action mà pipeline của bạn phụ thuộc vào trước khi chuyển đổi.
Có một lưu ý áp dụng cho cả ba lựa chọn. Hướng dẫn này giả định việc dùng riêng tư và theo nhóm, với bề mặt quản trị nằm sau VPN hoặc danh sách IP được phép. Các dịch vụ git công khai phải đối mặt với lưu lượng bot, lạm dụng và những đánh đổi về khả năng được tìm thấy mà một triển khai riêng tư nhỏ không gặp. Với mã nguồn mở công khai, hãy mirror lên GitHub để có độ hiển thị trong khi vẫn giữ Forgejo làm nguồn dữ liệu chuẩn, nếu mô hình quản trị đó quan trọng với bạn.
Hãy chọn cấu hình máy chủ theo khối lượng công việc, không theo tên các gói của nhà cung cấp. Một dịch vụ Forgejo hoặc Gitea đứng riêng cho nhu cầu riêng tư nhẹ có thể bắt đầu ở khoảng 1 đến 2 vCPU và 1 đến 2 GB RAM. Một bộ rút gọn không có OpenProject, Plane hay build cục bộ có thể bắt đầu ở khoảng 4 vCPU và 8 GB RAM. Với bộ công cụ dựa trên Forgejo đầy đủ được mô tả ở đây, hãy khởi đầu ở khoảng 8 vCPU và 16 GB RAM, rồi kiểm chứng dưới tải CI và tải ứng dụng thực tế. Mức nền chính thức 8 vCPU/16 GB của GitLab áp dụng cho chính GitLab, nên đừng coi đó là đủ cho GitLab cộng với phần còn lại của bộ này. Dùng ổ SSD hoặc NVMe, tính ngân sách riêng cho kho mã, image container, log, cơ sở dữ liệu và bản sao lưu, và chừa trống 20 đến 30% dung lượng cho các đợt cập nhật và tải tăng đột biến.
Điểm rút ra chính của phần này: Forgejo là khuyến nghị mặc định cho lớp mã nguồn năm 2026; Gitea vẫn vững vàng, còn GitLab CE chỉ là lựa chọn tích hợp khi bạn kham nổi mức nền 16 GB của nó hoặc chủ động vận hành ở cấu hình hạn chế 8 GB.
Lớp 2, build và triển khai: Coolify (kèm lưu ý), Dokku hoặc Docker Compose thuần
Nói cho sòng phẳng: Coolify là lựa chọn PaaS được khuyến nghị cho bộ này nếu bạn chạy bản phát hành sản xuất mới nhất, giữ bảng điều khiển quản trị ngoài internet công cộng, và theo dõi các cảnh báo bảo mật. Tại thời điểm kiểm định, GitHub đánh dấu Coolify v4.3.0 là bản mới nhất. Hãy xem việc vá lỗi và cô lập mặt phẳng quản trị là yêu cầu vận hành, không phải phần gia cố tùy chọn.
Mẹo hay: Hãy hạn chế bảng điều khiển và API của Coolify bằng tường lửa, VPN hoặc proxy truy cập tin cậy. Các ứng dụng đã triển khai vẫn có thể nhận lưu lượng công khai; mục tiêu là giảm mức phơi bày của mặt phẳng điều khiển quản trị.
Lựa chọn thay thế cho lập trình viên đơn lẻ là Dokku, một PaaS gọn gàng với kiểu triển khai git push như Heroku và hỗ trợ buildpack. Nó có bề mặt nhỏ hơn Coolify và bộ tính năng cũng nhỏ tương ứng. Điều đó khiến nó là một “lựa chọn nhàm chán” có thể bảo vệ được, dành cho một hai lập trình viên không cần bảng điều khiển.
Lựa chọn thứ ba mà những người vận hành dày dạn hay chọn là không dùng PaaS, chỉ Docker Compose. Nếu nhóm bạn vốn đã viết tệp Compose và bạn thích nhìn thấy các bộ phận đang vận hành, thì đây là một câu trả lời hoàn toàn hợp lý. Hãy thêm Dockge hoặc Portainer làm lớp giao diện để quản lý stack khi bạn muốn khởi động lại bằng một cú nhấp thay vì docker compose restart. Cái giá phải trả nằm ở khâu vận hành: không có môi trường xem trước, không có tự động hóa TLS sẵn có, và không có triển khai không gián đoạn nếu không bỏ công. Những tính năng đó phải đổi bằng việc viết script; ở Coolify chúng đã có sẵn, kèm theo cả lịch sử bảo mật đi cùng.
Hướng dẫn của Cloudzy về các công cụ CI/CD tốt nhất đi sâu hơn vào pipeline build cho các nhóm cần một runner riêng, điều mà nhiều nhóm nhỏ không còn cần một khi đã có Forgejo Actions hoặc CI/CD của GitLab.
Điểm rút ra chính của phần này: Coolify chỉ là PaaS được khuyến nghị khi chạy bản ổn định hiện tại và mặt phẳng quản trị đã bị hạn chế; Dokku là lựa chọn thận trọng cho người làm một mình; Docker Compose thuần vẫn là lựa chọn thứ ba có thể bảo vệ được.
Lớp 3, vận hành: Vaultwarden, Uptime Kuma, GlitchTip và quản lý container
Khoảng cách tài nguyên rõ rệt nhất trong bộ này nằm ở đây. Yêu cầu chính thức của Sentry khi tự lưu trữ nêu mức tối thiểu là 4 nhân CPU, 16 GB RAM, 16 GB swap và 20 GB đĩa trống, còn mức khuyến nghị là 32 GB RAM. Hướng dẫn cài đặt của GlitchTip khuyến nghị 512 MB RAM, đòi hỏi PostgreSQL, và để Valkey ở mức tùy chọn. Với một nhóm nhỏ trên một VPS, GlitchTip là lựa chọn mặc định thực tế.
| Công cụ | RAM (thông thường) | Số lượng container | Khả năng tương thích API |
|---|---|---|---|
| Sentry tự lưu trữ | 16 GB RAM plus 16 GB swap minimum; 32 GB recommended | Triển khai lớn gồm nhiều dịch vụ | Bản địa |
| GlitchTip | 512 MB recommended; 256 MB minimum for the all-in-one setup | 2 dịch vụ lõi; Valkey tùy chọn | Lưu lượng từ Sentry SDK; hãy kiểm thử mức ngang bằng tính năng |
Bốn công cụ còn lại ở lớp này chỉ cần vài dòng.
Vaultwarden là trình quản lý mật khẩu tương thích với Bitwarden, hỗ trợ ứng dụng di động và tiện ích trình duyệt của Bitwarden cùng khả năng chia sẻ trong nhóm. Mức tiêu tốn tài nguyên thực tế phụ thuộc vào số người dùng, tệp đính kèm và lựa chọn cơ sở dữ liệu. Bài so sánh các trình quản lý mật khẩu tự lưu trữ của Cloudzy đi sâu vào đánh đổi khi bạn cần phân quyền có cấu trúc hơn, các cơ chế kiểm toán, hoặc một mô hình bảo mật khác.
Uptime Kuma là công cụ giám sát và cảnh báo nhỏ gọn: kiểm tra HTTP, TCP, ping, push, hạn chứng chỉ, cùng trang trạng thái tùy chọn. Thông báo có thể đi qua chat, email hoặc webhook. Mức tiêu tốn tài nguyên thay đổi theo số lượng bộ giám sát và thời gian lưu trữ; đặt cảnh báo ở lần thất bại thứ hai liên tiếp là cách thiết thực để dập bớt các dao động ngắn.
GlitchTip là công cụ theo dõi lỗi. Phần lớn tích hợp qua Sentry SDK đều có thể báo về một DSN của GlitchTip, nhưng mức ngang bằng tính năng chưa trọn vẹn; hãy kiểm thử giám sát hiệu năng, source map, cảnh báo, và bất kỳ tích hợp nào nhóm bạn coi là trọng yếu.
Hãy chọn Portainer hoặc Dockge làm giao diện quản lý container. Portainer bao quát nhiều tình huống quản lý container hơn; Dockge chỉ tập trung vào Docker Compose. Với một bộ nhỏ chỉ dùng Compose, Dockge vừa vặn gọn gàng hơn. Chỉ chuyển sang Portainer khi bạn cần phạm vi rộng hơn.
Một thói quen Compose hữu ích cho lớp này: giữ mỗi công cụ trong thư mục con riêng với tệp compose.yml riêng, chỉ dùng chung mạng Docker ở nơi thực sự cần lưu lượng giữa các công cụ, và đặt một reverse proxy ở phía trước để kết thúc TLS.
# /opt/stack/glitchtip/compose.yml (excerpt)
services:
web:
image: "glitchtip/glitchtip:${GLITCHTIP_VERSION:?Set GLITCHTIP_VERSION in .env}"
environment:
DATABASE_URL: "${DATABASE_URL:?Set DATABASE_URL in .env}"
SECRET_KEY: "${GLITCHTIP_SECRET_KEY:?Set GLITCHTIP_SECRET_KEY in .env}"
GLITCHTIP_DOMAIN: "https://errors.example.com"
DEFAULT_FROM_EMAIL: "[email protected]"
ports:
- "127.0.0.1:8000:8000"
Mẹo hay: Một bản sao lưu chỉ được coi là đã chứng minh khi dịch vụ khôi phục được và dữ liệu được kiểm chứng. Mỗi tháng một lần, hãy khôi phục một dịch vụ tiêu biểu vào môi trường thử nghiệm tách biệt, khởi động nó, đăng nhập, xem lại bản ghi và tệp đính kèm, rồi xác nhận ứng dụng chạy bình thường. Việc liệt kê các tệp đã khôi phục chỉ chứng minh rằng tệp nén đọc được, chứ không chứng minh cơ sở dữ liệu, volume, quyền và trạng thái ứng dụng có thể phục hồi thành công.
Điểm rút ra chính của phần này: GlitchTip làm được phần cốt lõi của việc theo dõi lỗi với quy mô triển khai nhỏ hơn hẳn Sentry tự lưu trữ, nhưng hãy kiểm chứng những tính năng và tích hợp Sentry mà nhóm bạn thực sự dùng.
Lớp 4, tài liệu: Docmost, AFFiNE và theo dõi issue bằng OpenProject hoặc Plane
Giao diện của Notion vẫn ổn, cho tới khi một wiki ngày càng phình to khiến việc điều hướng và tìm kiếm trở nên ì ạch. Với nhóm nhỏ, cách chia được khuyến nghị là Docmost cho tài liệu và wiki, cùng OpenProject để theo dõi issue. Hãy thay OpenProject bằng Plane nếu nhóm bạn cụ thể muốn một mô hình trực quan kiểu Linear và sẵn sàng quản lý bản tự lưu trữ được hỗ trợ của nó.
Docmost ở đây là bản thay thế tự lưu trữ gần Notion nhất mà không giả vờ mình là Notion. Trình soạn thảo theo khối, hệ thống phân cấp trang và phân quyền nhóm của nó hợp với một wiki nội bộ thông thường. Hãy tính cấu hình cho lớp này theo số người biên tập đồng thời, tệp đính kèm, và việc PostgreSQL với Redis có dùng chung một máy chủ hay không. AFFiNE là lựa chọn thay thế cho nhóm thích mô hình canvas và bảng trắng hơn là các trang lồng nhau. Cả hai đều hợp lý; chọn lấy một.
OpenProject lo phần theo dõi issue cho những nhóm quen với quy trình kiểu Jira: epic, gói công việc, sprint và ghi nhận thời gian. Plane là lựa chọn thay thế theo dáng Linear, với giao diện xoay quanh issue nhanh hơn và một mức đòi hỏi vận hành khác.
Thừa nhận cho sòng phẳng: tốc độ ưu tiên bàn phím của Linear thực sự tốt, và Plane không tái hiện được mọi thao tác. Nếu quy trình của nhóm bạn dựng trên trí nhớ cơ bắp với menu lệnh của Linear, ma sát khi chuyển đổi là có thật. Điều đó không nhất thiết làm hỏng mọi chuyện, nhưng nó là một cái giá thực sự.
Điểm rút ra chính của phần này: Docmost đảm nhiệm vai trò tài liệu nội bộ, còn OpenProject hoặc Plane lo phần theo dõi issue; khoảng cách về trải nghiệm bàn phím so với Linear là chỗ duy nhất mà lớp này buộc bạn phải nhân nhượng.
Bộ công cụ này tốn bao nhiêu và chạy trên cái gì
Điểm khởi đầu thực tế cho bộ công cụ dựa trên Forgejo đầy đủ gói trong một máy là khoảng 8 vCPU và 16 GB RAM. Hãy xem 2 vCPU với 4 GB RAM là cỡ phòng thí nghiệm cho vài dịch vụ nhẹ, còn 4 vCPU với 8 GB RAM là bản thử nghiệm rút gọn bỏ đi OpenProject, Plane và build cục bộ. Nhu cầu thực tế phụ thuộc vào số người dùng đồng thời, mức độ hoạt động của CI, đà phình của cơ sở dữ liệu, tệp đính kèm, kho image, log và thời gian lưu trữ, vì vậy hãy kiểm chứng bộ này dưới tải thật và chừa trống 20 đến 30% dung lượng. Bậc khởi điểm 16 GB có thể chứa các dịch vụ sau cho một nhóm 2 đến 3 lập trình viên tải nhẹ, với điều kiện đã kiểm thử tải:
- Forgejo
- Coolify
- Vaultwarden
- Uptime Kuma
- GlitchTip
- Docmost
- OpenProject
- Dockge
Máy chủ 4 GB chỉ hợp với vài dịch vụ nhẹ. Máy chủ 8 GB nên được coi là bản thử nghiệm rút gọn không có OpenProject, Plane hay build cục bộ. Hãy khởi đầu bộ công cụ dựa trên Forgejo đầy đủ ở mức 16 GB, và bổ sung dung lượng khi chạy GitLab, build song song, Plane, thời gian lưu trữ dài, hoặc tải cơ sở dữ liệu nặng hơn. Gói SaaS của chính nhóm đó gồm:
- GitHub Team
- Vercel Pro
- Sentry
- Linear
- Notion
- 1Password
Dựa trên mức giá cơ bản được công bố trên từng trang bảng giá (bao gồm cả mức giá thanh toán theo năm nếu có). Năm sản phẩm có tính phí cộng lại khoảng 158 USD mỗi tháng cho ba người: GitHub Team ở mức 4 USD mỗi người dùng trong 12 tháng đầu, ba chỗ ngồi lập trình viên của Vercel Pro với giá 20 USD mỗi chỗ, Sentry Team khởi điểm 26 USD, Linear Basic ở mức 10 USD mỗi người dùng, và Notion Plus ở mức 10 USD mỗi người dùng. Phí theo mức sử dụng, thuế, gói bổ sung và 1Password đều tính thêm. Hạ tầng vẫn có thể rẻ hơn đáng kể, nhưng phép so sánh chẳng có ý nghĩa gì nếu bỏ qua thời gian của người vận hành.
Khi nào cần nâng cấu hình: mức nền cho một node của GitLab là 8 vCPU và 16 GB RAM. Nhiều lượt build chạy song song có thể đòi thêm dung lượng ngay cả khi không có GitLab. Sentry tự lưu trữ cũng khởi điểm ở 16 GB RAM cộng 16 GB swap và khuyến nghị 32 GB, đó chính là lý do hướng dẫn này khuyên dùng GlitchTip cho bộ gộp trong một máy.
Khoản chi phí không có bảng giá chính là thời gian vận hành. Để lập kế hoạch, hãy dự trù 1 đến 2 giờ mỗi tháng cho việc cập nhật và kiểm chứng bản sao lưu, cộng thêm một lượt lướt nhanh hằng tuần qua các cảnh báo bảo mật của những dự án bạn đang chạy. Con số thật phụ thuộc vào khối lượng thay đổi, cách xử lý sự cố, và mức độ bạn tự động hóa. Nó không phải là con số không, và nó thuộc về mô hình chi phí.
Cách triển khai chỉ đổi mức tiện lợi, không đổi các yêu cầu vận hành. Dù bạn dùng tệp Compose chính thức hay một mẫu từ marketplace: hãy ghim phiên bản image, đặt giới hạn CPU và bộ nhớ, giữ dữ liệu dịch vụ trong các volume có tên, và kiểm thử cả sao lưu lẫn khôi phục. Gom toàn bộ bộ công cụ lên một máy chủ cũng tạo ra một vùng hỏng dùng chung, nên hãy tách riêng những dịch vụ trọng yếu khi việc ngừng hoạt động hoặc lộ thông tin đăng nhập gây hậu quả lớn.
Nếu bạn muốn triển khai bộ công cụ này, hãy so sánh các gói cloud VPS của chúng tôi theo CPU, RAM, ổ SSD hoặc NVMe, hạn mức băng thông và khu vực, rồi áp dụng khung tính cấu hình ở trên. Để dựng nhanh hơn, hãy xem danh mục ứng dụng cài một chạm, nhưng vẫn phải ghim phiên bản, đặt giới hạn tài nguyên, và kiểm chứng bản sao lưu trước khi lên môi trường thật.
Điểm rút ra chính của phần này: Dùng 4 GB cho một phòng thí nghiệm nhỏ, 8 GB cho bản thử nghiệm rút gọn, và khoảng 8 vCPU với 16 GB RAM làm điểm khởi đầu thực tế cho bộ công cụ dựa trên Forgejo đầy đủ. Hãy bổ sung dung lượng cho GitLab, build song song, các công cụ quản lý dự án nặng hơn, và những cơ sở dữ liệu đang phình to.
Nơi việc tự lưu trữ bộ công cụ này thực sự thất bại
Bốn kiểu thất bại, gọi tên thẳng thắn, bởi phần còn lại của hướng dẫn này vốn là một lời biện hộ cho cách làm đó.
Kiểu thất bại 1: hiệu ứng mạng của GitHub với các dự án mã nguồn mở công khai. Git tự lưu trữ là lựa chọn đúng cho mã nguồn riêng tư. Nó là lựa chọn sai cho những dự án mà toàn bộ giá trị nằm ở việc người đóng góp bên ngoài tìm ra bạn. GitHub là nơi lập trình viên nhìn vào đầu tiên. Pull request, fork, sao, tín hiệu tin cậy ngầm của việc hiện diện trên github.com, các tích hợp công cụ bên thứ ba, tất cả. Nếu dự án của bạn là mã nguồn mở công khai, mô thức trung thực là mirror lên GitHub để có độ hiển thị trong khi giữ nguồn dữ liệu chuẩn trên Forgejo. Đừng trông đợi một instance tự lưu trữ thay thế được khả năng được tìm thấy của GitHub cho công việc công khai. Nó sẽ không làm được.
Kiểu thất bại 2: lưu lượng từ bot và trình thu thập dữ liệu trên các instance Git công khai. Các dịch vụ Forgejo và Gitea mở ra công khai cần cơ chế chống lạm dụng, giới hạn tần suất, giám sát, và đủ dung lượng cho lưu lượng khó đoán. Hướng dẫn này giả định việc dùng riêng tư và theo nhóm, với bề mặt quản trị nằm sau VPN hoặc danh sách IP được phép. Một forge thực sự công khai có mô hình đe dọa và mô hình dung lượng khác hẳn.
Kiểu thất bại 3: gánh nặng bảo trì. “Bạn chính là phòng IT” là câu nói sáo mòn, và phần lớn là đúng. Cập nhật làm hỏng thứ gì đó. Tệp Compose trôi dạt dần. Chứng chỉ hết hạn. Bản sao lưu hỏng âm thầm theo những cách khó coi nhất. Các cảnh báo bảo mật năm 2026 của Coolify là lời nhắc hữu ích rằng nhịp vá lỗi là chuyện quan trọng. Nếu bạn không thể cam kết một khung thời gian bảo trì ngay từ đầu, nói thật thì gói SaaS mới là câu trả lời đúng.
Kiểu thất bại 4: mất các tích hợp. Các GitHub Action của bên thứ ba, bản triển khai xem trước của Vercel gắn với pull request trên GitHub, các tích hợp cảnh báo được lưu trữ của Sentry với PagerDuty và Linear, cùng danh mục tích hợp rộng lớn của Notion. Phần lớn đều có bản tương đương tự lưu trữ (Forgejo Actions, triển khai qua webhook của Coolify, thông báo của GlitchTip, n8n để nối các quy trình), nhưng phần thay thế không phải lúc nào cũng một đổi một. Hãy dựng thử quy trình quan trọng nhất trước khi buộc cả nhóm vào cuộc chuyển đổi. Chính cái tích hợp bạn coi là đương nhiên mới là thứ dễ khiến bạn bất ngờ nhất.
Điểm rút ra chính của phần này: Bộ công cụ này hiệu quả với mã nguồn riêng tư, nhóm nhỏ và những người vận hành sẵn lòng xắn tay; nó không hiệu quả với độ hiển thị của mã nguồn mở công khai, với những nhóm không muốn đụng vào, hay với kỳ vọng không phải bảo trì gì cả.
Bộ công cụ của người vận hành
Bốn lớp, bốn khuyến nghị, gọi tên thẳng thắn. Mã nguồn: Forgejo. Build và triển khai: Coolify với mặt phẳng quản trị đã hạn chế, hoặc Dokku, hoặc Compose. Vận hành: Vaultwarden, Uptime Kuma, GlitchTip, Portainer hoặc Dockge. Tài liệu: Docmost và OpenProject (hoặc Plane). Hãy bắt đầu bản thử nghiệm rút gọn ở 8 GB và bộ dựa trên Forgejo đầy đủ ở 16 GB. Bổ sung dung lượng cho GitLab, build song song, cơ sở dữ liệu nặng hơn, hoặc tải ứng dụng kéo dài.
Nếu bạn đang chuyển đổi, hãy bắt đầu với Uptime Kuma và một dịch vụ nội bộ không trọng yếu. Chúng cho bạn cách học nhịp vận hành (cập nhật, giám sát, kiểm chứng bản sao lưu và gia hạn chứng chỉ) với rủi ro thấp hơn, trước khi chuyển một quy trình của cả nhóm hay một kho thông tin đăng nhập. Đừng lấy Vaultwarden làm lần triển khai thử đầu tiên: chỉ chuyển nó sau khi đã có bản sao lưu mã hóa nằm ngoài máy chủ, một lần kiểm thử khôi phục thành công, quyền quản trị bị hạn chế và xác thực đa yếu tố. Khi nhịp đó đã đáng tin, hãy chuyển sang Forgejo, rồi Coolify, rồi phần còn lại.
Với các nhóm chọn đích danh GitLab CE, hãy quyết định xem CI/CD tích hợp của nó có thay được một runner riêng hay không, hay khối lượng công việc của bạn vẫn cần năng lực build chuyên dụng.
Câu hỏi thường gặp
Đâu là lựa chọn tự lưu trữ thay thế Gitea tốt nhất năm 2026?
Forgejo là lựa chọn được khuyến nghị cho những người mới tự lưu trữ năm 2026. Việc thương hiệu và tên miền của Gitea được chuyển cho một công ty vì lợi nhuận vào tháng 10 năm 2022 mà không có sự chấp thuận trước của cộng đồng chính là nguyên nhân dẫn tới bản fork Forgejo cuối năm 2022. Từ v9.0 trở đi, các bản phát hành Forgejo dùng GPL v3+; những bản vá trước đó là v8.0 và v7.0 vẫn ở MIT. Trong sử dụng hằng ngày, hai bên gần như ngang nhau về tính năng.
Có thể chạy Coolify an toàn trên môi trường sản xuất năm 2026 không?
Có, nhưng chỉ khi bảo trì tích cực và phòng thủ nhiều lớp. Hãy chạy bản phát hành ổn định mới nhất đã được rà soát, theo dõi các cảnh báo mới, hạn chế quyền của nhóm, và giữ bảng điều khiển cùng API sau tường lửa, VPN hoặc một lớp truy cập tin cậy. Đừng coi beta.451, beta.474 hay bất kỳ mốc vá lỗi cũ nào là ngưỡng an toàn vĩnh viễn.
Một bộ công cụ lập trình tự lưu trữ đầy đủ thực sự cần bao nhiêu RAM?
Với nhóm 2 đến 3 lập trình viên, hãy xem 4 GB là cỡ phòng thí nghiệm cho vài dịch vụ nhẹ và 8 GB là bản thử nghiệm rút gọn không có OpenProject, Plane hay build cục bộ. Khoảng 8 vCPU và 16 GB RAM là điểm khởi đầu thực tế cho bộ dựa trên Forgejo đầy đủ. Mức nền 8 vCPU/16 GB của GitLab áp dụng cho chính GitLab, còn Sentry tự lưu trữ đòi hỏi 16 GB RAM cộng 16 GB swap và khuyến nghị 32 GB. Hãy kiểm chứng cấu hình cuối cùng trong điều kiện khối lượng công việc thật.
Vì sao chọn GlitchTip thay cho Sentry tự lưu trữ?
Nằm ở khoảng cách về tài nguyên và vận hành. Sentry tự lưu trữ đòi tối thiểu 16 GB RAM cộng 16 GB swap và là một triển khai lớn gồm nhiều dịch vụ. GlitchTip khuyến nghị 512 MB cho dịch vụ gộp một của nó, đòi hỏi PostgreSQL, và để Valkey ở mức tùy chọn. Nó nhận lưu lượng từ Sentry SDK, nhưng mức ngang bằng tính năng chưa trọn vẹn, nên hãy kiểm thử những tính năng và tích hợp mà bạn phụ thuộc vào.
So với các bản SaaS tương đương, bộ công cụ này thực sự tốn bao nhiêu?
Hãy xem 4 GB là cỡ phòng thí nghiệm cho vài dịch vụ nhẹ và 8 GB là bản thử nghiệm rút gọn không có OpenProject, Plane hay build cục bộ. Khoảng 8 vCPU và 16 GB RAM là điểm khởi đầu thực tế cho bộ dựa trên Forgejo đầy đủ. Theo giá cơ bản được công bố, GitHub Team, Vercel Pro, Sentry Team, Linear Basic và Notion Plus cộng lại khoảng 158 USD mỗi tháng cho ba người, chưa tính 1Password, phí theo mức sử dụng, thuế và các gói bổ sung. Tự lưu trữ có thể rẻ hơn đáng kể, nhưng thời gian của người vận hành và hạ tầng sao lưu là những khoản chi phí có thật.
