Back to articles
Technology Insight

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 Cho Doanh Nghiệp

May 30, 2026

Giới thiệu: Xu hướng tự chủ mã nguồn trong kỷ nguyên số

Trong bối cảnh an ninh mạng và quyền riêng tư dữ liệu ngày càng trở nên khắt khe, việc phụ thuộc hoàn toàn vào các dịch vụ lưu trữ mã nguồn bên thứ ba như GitHub, GitLab hay Bitbucket ẩn chứa không ít rủi ro cho doanh nghiệp. Từ việc thay đổi chính sách chi phí, giới hạn tính năng riêng tư, cho đến nguy cơ rò rỉ dữ liệu do các sự cố hệ thống toàn cầu. Chính vì vậy, xu hướng self-hosted (tự lưu trữ) đang trở thành lựa chọn chiến lược của nhiều doanh nghiệp và đội ngũ kỹ thuật.

Bài viết này sẽ hướng dẫn bạn cách xây dựng một hệ thống quản lý mã nguồn toàn diện, siêu nhẹ bằng cách kết hợp Forgejo – một nhánh phát triển tối ưu của Gitea – và cấu hình nó trên dòng máy chủ VPS ARM thuộc gói Free Tier của Oracle Cloud. Đây là giải pháp không chỉ mang lại hiệu suất vượt trội mà còn giúp doanh nghiệp tối ưu hóa chi phí vận hành về mức 0 đồng.

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

Forgejo: Sự kế thừa tinh hoa và tối giản hóa hiệu năng

Forgejo ra đời như một bản fork cộng đồng độc lập từ Gitea, tập trung mạnh mẽ vào tính tự do, bảo mật và hiệu năng. Khác với GitLab yêu cầu tài nguyên phần cứng cực kỳ lớn (thường tối thiểu 4GB RAM), Forgejo có thể vận hành mượt mà chỉ với dưới 200MB RAM. Dù siêu nhẹ, Forgejo vẫn cung cấp đầy đủ các tính năng cốt lõi như:

  • Quản lý kho lưu trữ (Repositories), Nhánh (Branches), và Thẻ (Tags).
  • Công cụ đánh giá mã nguồn thông qua Pull Requests và Issues.
  • Tích hợp sẵn hệ thống CI/CD (Forgejo Actions) tương thích với cú pháp của GitHub Actions.
  • Giao diện trực quan, thân thiện và tốc độ phản hồi gần như tức thì.

Oracle Cloud ARM Free Tier: Phần cứng mạnh mẽ, chi phí 0 đồng

Gói dịch vụ miễn phí trọn đời (Always Free) của Oracle Cloud cung cấp cấu hình máy chủ dựa trên kiến trúc ARM (Ampere Altra) lên đến 4 Cores CPU và 24GB RAM. Đây là cấu hình cực kỳ lý tưởng, vượt trội hơn hẳn so với bất kỳ nhà cung cấp dịch vụ đám mây nào khác hiện nay. Việc cài đặt một ứng dụng tối ưu như Forgejo trên hạ tầng này sẽ mang lại trải nghiệm mượt mà cho các đội ngũ phát triển từ quy mô nhỏ đến trung bình.

Quy trình chuẩn bị hệ thống trên Oracle Cloud

Bước 1: Khởi tạo thực thể VPS ARM

Trước hết, bạn cần truy cập vào bảng điều khiển Oracle Cloud Infrastructure (OCI) và tạo một Instance mới với các thông số lưu ý sau:

  1. Image: Chọn hệ điều hành Ubuntu (phiên bản LTS mới nhất) hoặc Oracle Linux.
  2. Shape: Chọn VM.Standard.A1.Flex (Kiến trúc ARM). Bạn có thể phân bổ 2 Cores CPU và 12GB RAM cho máy chủ này (vẫn còn dư tài nguyên cho các mục đích khác).
  3. Networking: Đảm bảo gán IP công cộng (Public IP) và tải về mã khóa SSH private key để truy cập.

Bước 2: Cấu hình mạng và Mở cổng (Ingress Rules)

Mặc định, Oracle Cloud chặn hầu hết các cổng kết nối ngoại vi. Bạn cần truy cập vào phần Virtual Cloud Network (VCN), chọn Security List tương ứng và thêm các quy tắc Ingress Rules sau:

  • Cổng 22: SSH (thường đã mở sẵn).
  • Cổng 80 và 443: Dành cho giao thức HTTP và HTTPS (Reverse Proxy).
  • Cổng 2222 (hoặc cổng tùy chọn): Dành cho kết nối SSH của Git nếu bạn không muốn xung đột với cổng SSH của hệ thống.

Hướng dẫn cài đặt Forgejo chi tiết qua Docker Compose

Sử dụng Docker Compose là phương thức quản lý và triển khai Forgejo an toàn, sạch sẽ và dễ dàng nâng cấp nhất hiện nay.

1. Cập nhật hệ thống và cài đặt Docker

Kết nối vào VPS qua SSH và chạy các lệnh sau để cập nhật hệ thống cũng như cài đặt Docker Engine cùng Docker Compose:

sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose -y
sudo systemctl enable --now docker

2. Khởi tạo cấu trúc thư mục và file cấu hình

Tạo một thư mục riêng biệt để lưu trữ dữ liệu của Forgejo nhằm mục đích dễ dàng sao lưu (backup) sau này:

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

Tạo file docker-compose.yml bằng trình chỉnh sửa nano hoặc vim:

nano docker-compose.yml

Sao chép và dán đoạn cấu hình chuẩn hóa sau vào file:

version: "3.8"

services:
  server:
    image: code.forgejo.org/forgejo/forgejo:latest-rootless
    restart: always
    environment:
      - USER_UID=1000
      - USER_GID=1000
    volumes:
      - ./data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:2222"

Lưu ý: Trong cấu hình trên, chúng ta sử dụng phiên bản latest-rootless để tăng cường tối đa tính bảo mật, ngăn chặn ứng dụng chạy dưới quyền root của hệ thống.

3. Khởi chạy container

Kích hoạt dịch vụ bằng lệnh:

docker-compose up -d

Kiểm tra trạng thái hoạt động của container bằng lệnh docker ps để đảm bảo dịch vụ đã khởi chạy thành công trên cổng 3000.

Thiết lập Reverse Proxy và Kích hoạt SSL bảo mật (HTTPS)

Để hệ thống hoạt động chuyên nghiệp với tên miền riêng (ví dụ: git.yourdomain.com) và mã hóa lưu lượng truy cập, chúng ta sẽ sử dụng Nginx Proxy Manager hoặc Caddy làm Reverse Proxy.

Cấu hình với Nginx và Let's Encrypt

Cài đặt Nginx trên máy chủ host hoặc chạy một container Nginx độc lập. Dưới đây là cấu hình mẫu block server Nginx chuẩn cho Forgejo:

server {
    listen 80;
    server_name git.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name git.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/[git.yourdomain.com/fullchain.pem](https://git.yourdomain.com/fullchain.pem);
    ssl_certificate_key /etc/letsencrypt/live/[git.yourdomain.com/privkey.pem](https://git.yourdomain.com/privkey.pem);

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Sau khi thiết lập xong cấu hình Nginx và cài đặt chứng chỉ SSL miễn phí từ Let's Encrypt thông qua Certbot, bạn đã có thể truy cập vào giao diện web của Forgejo thông qua đường dẫn bảo mật HTTPS.

Cấu hình ban đầu cho Forgejo (Initial Configuration)

Khi truy cập vào tên miền lần đầu tiên, giao diện thiết lập trực quan của Forgejo sẽ xuất hiện. Hãy điền các thông tin quan trọng sau:

  • Database Type: Chọn SQLite3 nếu dự án của bạn ở quy mô nhỏ và muốn tối ưu tài nguyên tối đa (dữ liệu lưu trực tiếp thành file trong thư mục data). Đối với doanh nghiệp đông thành viên, cân nhắc sử dụng PostgreSQL.
  • Application URL: Điền chính xác URL tên miền của bạn (ví dụ: [https://git.yourdomain.com/](https://git.yourdomain.com/)).
  • SSH Server Port: Đổi thành 2222 để khớp với cấu hình Docker mapping cổng kết nối từ xa.
  • Administrator Account Settings: Khởi tạo tài khoản quản trị viên đầu tiên. Hãy đặt mật khẩu mạnh để bảo vệ toàn bộ hệ thống.

Đánh giá hiệu năng và Kết luận

Sau khi hoàn tất cài đặt, bạn sẽ sở hữu một hệ thống Git hoàn chỉnh với đầy đủ tính năng mạnh mẽ tương tự GitHub. Nhờ vào kiến trúc tối giản của Forgejo phối hợp cùng sức mạnh xử lý đa luồng của vi xử lý ARM trên Oracle Cloud, tốc độ thực thi các lệnh như git push, git pull hay duyệt cây thư mục mã nguồn diễn ra gần như ngay lập tức.

Việc làm chủ hoàn toàn máy chủ Git không chỉ giúp doanh nghiệp tiết kiệm chi phí vận hành hàng tháng, loại bỏ các giới hạn về số lượng thành viên hay kho lưu trữ riêng tư, mà quan trọng hơn hết là đảm bảo quyền kiểm soát tuyệt đối đối với tài sản trí tuệ của tổ chức. Forgejo trên Oracle Cloud ARM Free Tier chính là lời giải hoàn hảo cho bài toán cân bằng giữa hiệu năng, bảo mật và chi phí trong kỷ nguyên công nghệ hiện đại.

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 Cho Doanh Nghiệp | DPTCloud