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

Tự dựng máy chủ Git siêu nhẹ với Forgejo trên VPS ARM Oracle Cloud Free Tier: Giải pháp thay thế GitHub hoàn hảo và miễn phí

29 tháng 5, 2026

Giới thiệu xu hướng Self-hosted: Tại sao nên thay thế GitHub?

Trong kỷ nguyên số hiện nay, GitHub, GitLab hay Bitbucket đã trở thành những công cụ không thể thiếu đối với các lập trình viên và doanh nghiệp. Tuy nhiên, việc phụ thuộc hoàn toàn vào các nền tảng đám mây bên thứ ba luôn tiềm ẩn những rủi ro nhất định về chính sách bảo mật, quyền riêng tư dữ liệu và đặc biệt là chi phí gia tăng khi quy mô đội ngũ mở rộng. Đối với các doanh nghiệp coi trọng việc bảo mật tuyệt đối mã nguồn độc quyền, xu hướng Self-hosted (tự lưu trữ) đang trở thành một lựa chọn chiến lược.

Nếu bạn đang tìm kiếm một giải pháp thay thế GitHub tối ưu: vừa tiết kiệm chi phí, vừa tiêu tốn ít tài nguyên nhưng vẫn đảm bảo đầy đủ tính năng mạnh mẽ từ quản lý kho lưu trữ, Issues, Pull Requests đến CI/CD, thì sự kết hợp giữa Forgejo và Oracle Cloud Infrastructure (OCI) ARM Free Tier chính là câu trả lời hoàn hảo.

Tại sao lại chọn Forgejo và Oracle Cloud ARM?

1. Forgejo - Bản fork tinh gọn và bảo mật từ Gitea

Forgejo được sinh ra như một bản fork hướng cộng đồng từ Gitea, nhằm đảm bảo dự án luôn duy trì tinh thần mã nguồn mở độc lập, không bị chi phối bởi các yếu tố thương mại. Những ưu điểm vượt trội của Forgejo bao gồm:

  • Siêu nhẹ và hiệu năng cao: Được viết bằng ngôn ngữ Go, Forgejo có thể chạy mượt mà chỉ với 512MB RAM, vượt trội hoàn toàn so với sự "ngốn" tài nguyên của GitLab.
  • Giao diện thân thiện: Giao diện trực quan, gần như tương đồng với GitHub giúp người dùng không mất thời gian làm quen lại từ đầu.
  • Tích hợp sẵn hệ sinh thái mạnh mẽ: Hỗ trợ Git LFS, Container Registry, Package Registry và hệ thống Forgejo Actions tương thích với GitHub Actions.

2. Oracle Cloud ARM Free Tier - Hạ tầng "0 đồng" mạnh mẽ nhất hiện nay

Chương trình Always Free của Oracle Cloud cung cấp cấu hình VPS ARM Ampere Altra vô cùng hào phóng mà không nhà cung cấp nào có thể cạnh tranh được:

  • Lên tới 4 vCPUs ARM và 24 GB RAM.
  • Dung lượng lưu trữ lên đến 200 GB NVMe SSD.
  • Băng thông miễn phí hàng tháng cực lớn.

Sức mạnh phần cứng này vượt xa nhu cầu của Forgejo, cho phép hệ thống Git của bạn phục vụ mượt mà cho các đội ngũ từ vài chục đến hàng trăm lập trình viên hoạt động đồng thời.

Hướng dẫn từng bước thiết lập Forgejo trên VPS Oracle Cloud ARM

Bước 1: Khởi tạo VPS ARM và cấu hình mạng trên Oracle Cloud

Trước hết, bạn cần khởi tạo một instance sử dụng hệ điều hành Ubuntu LTS (ARM64) trên bảng điều khiển Oracle Cloud. Lựa chọn cấu hình phù hợp (ví dụ: 2 vCPUs, 12 GB RAM) để tối ưu tài nguyên.

Sau khi khởi tạo, bạn cần mở các cổng mạng (Ingress Rules) trên Virtual Cloud Network (VCN) của Oracle:

  1. Truy cập vào Subnet của Instance.
  2. Chọn Security List tương ứng.
  3. Thêm Ingress Rules cho cổng 80 (HTTP), 443 (HTTPS) và cổng 2222 (dành cho SSH Git sau này).
Lưu ý quan trọng: Hệ điều hành Ubuntu trên Oracle Cloud mặc định có cấu hình tường lửa iptables khá nghiêm ngặt. Bạn cần chạy lệnh xóa hoặc cập nhật quy tắc tường lửa trên VPS để các cổng trên có thể truy cập được từ bên ngoài.

Bước 2: Cài đặt Docker và Docker Compose trên kiến trúc ARM64

Sử dụng Docker giúp việc quản lý, cập nhật và sao lưu Forgejo trở nên đơn giản hơn bao giờ hết. Hãy kết nối SSH vào VPS và thực hiện các lệnh cài đặt Docker tiêu chuẩn cho kiến trúc ARM64.

Sau khi Docker đã sẵn sàng, hãy tạo một thư mục làm việc chuyên biệt:

mkdir -p ~/forgejo && cd ~/forgejo

Bước 3: Cấu hình File docker-compose.yml

Tạo file docker-compose.yml bằng trình soạn thảo văn bản (như nano hoặc vim) với nội dung tối ưu sau để triển khai Forgejo cùng cơ sở dữ liệu PostgreSQL bảo mật:version: "3.8" services: server: image: codeberg.org/forgejo/forgejo:7.0-rootless container_name: forgejo restart: always environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=forgejo - GITEA__database__USER=forgejo - GITEA__database__PASSWD=your_secure_password volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "2222:22" depends_on: - db db: image: postgres:15-alpine container_name: forgejo-db restart: always environment: - POSTGRES_USER=forgejo - POSTGRES_PASSWORD=your_secure_password - POSTGRES_DB=forgejo volumes: - ./postgres:/var/lib/postgresql/data

Hãy chắc chắn rằng bạn đã thay đổi your_secure_password bằng một chuỗi ký tự bảo mật cao.

Bước 4: Cấu hình Reverse Proxy Nginx và SSL Let's Encrypt

Để hệ thống hoạt động chuyên nghiệp dưới tên miền riêng (ví dụ: git.yourdomain.com) và được mã hóa bảo mật, chúng ta sử dụng Nginx làm Reverse Proxy phối hợp với Certbot để cấp chứng chỉ SSL miễn phí.

Cấu hình một block Nginx điều hướng lưu lượng từ cổng 80/443 vào cổng 3000 của container Forgejo. Sau khi kích hoạt SSL thành công, mọi dữ liệu truyền tải giữa máy tính của lập trình viên và máy chủ Git đều được mã hóa an toàn tuyệt đối.

Khởi chạy và cấu hình ban đầu cho Forgejo

Tại thư mục chứa file cấu hình, khởi chạy hệ thống bằng lệnh:

docker compose up -d

Bây giờ, hãy mở trình duyệt và truy cập vào tên miền của bạn. Giao diện thiết lập ban đầu của Forgejo sẽ xuất hiện. Tại đây, bạn chỉ cần kiểm tra lại các thông số kết nối cơ sở dữ liệu, đặt tên cho dịch vụ, cấu hình URL chính xác và tạo tài khoản Administrator đầu tiên. Tài khoản này sẽ có toàn quyền quản trị tối cao đối với hệ thống Git của bạn.

Đánh giá thực tế hiệu năng và khả năng bảo mật

Sau khi đưa vào vận hành thử nghiệm với các dự án lớn, Forgejo trên nền tảng VPS ARM của Oracle thể hiện một sức mạnh đáng kinh ngạc:

  • Mức độ tiêu hao tài nguyên: Trong trạng thái nhàn rỗi, toàn bộ hệ thống (bao gồm cả PostgreSQL) chỉ chiếm chưa đầy 200MB RAM. Khi thực hiện các lệnh git push hoặc git clone các repository dung lượng lớn, lượng CPU tăng tải không đáng kể.
  • Tốc độ phản hồi: Nhờ ổ cứng NVMe chất lượng cao từ Oracle Cloud, các thao tác duyệt mã nguồn trên giao diện web diễn ra tức thì, hoàn toàn không có độ trễ.
  • Bảo mật tối đa: Việc chạy Forgejo dưới dạng rootless container cô lập hoàn toàn tiến trình ứng dụng với hệ điều hành máy chủ, giảm thiểu tối đa nguy cơ bị tấn công leo thang đặc quyền.

Lời kết

Việc tự dựng máy chủ Git bằng Forgejo trên VPS ARM Oracle Cloud Free Tier không chỉ là một giải pháp giúp tiết kiệm chi phí vận hành cho các dự án cá nhân hay doanh nghiệp nhỏ, mà nó còn mang lại quyền làm chủ hoàn toàn dữ liệu. Bạn không còn phải lo lắng về việc mã nguồn riêng tư bị quét bởi các AI bên thứ ba hay các thay đổi bất ngờ về điều khoản dịch vụ từ các ông lớn công nghệ. Hãy bắt tay vào xây dựng hạ tầng độc lập của riêng bạn ngay hôm nay!

Tự dựng máy chủ Git siêu nhẹ với Forgejo trên VPS ARM Oracle Cloud Free Tier: Giải pháp thay thế GitHub hoàn hảo và miễn phí | DPTCloud