Gitea: nền tảng Git tự host cho đội dev
Gitea là một Git service tự host, gộp chung code hosting, review code, quản lý issue, package registry và CI/CD vào một binary Go hoặc container Docker duy nhất. Chọn Gitea nếu bạn muốn quy trình kiểu GitHub mà không phải gửi code cho bên thứ ba, và không ngại tự vận hành server; bỏ qua nếu bạn không muốn tự lo việc patch, backup và giữ uptime.
Gitea là gì?
Gitea là một dự án mã nguồn mở, tự host, được xem là giải pháp thay thế GitHub, viết bằng Go và phát hành theo giấy phép MIT. Gitea chạy dưới dạng một binary duy nhất hoặc Docker image, và bao phủ gần trọn vòng đời phát triển phần mềm: Git hosting, review code, quản lý issue, bảng kanban cho dự án, wiki, package registry, và CI/CD qua Actions có thể tái sử dụng workflow của GitHub Actions.
Tính năng chính cho đội phát triển
- ✓Git hosting đi kèm review code, quản lý issue, bảng kanban cho dự án và wiki — tất cả trong một app thay vì phải ghép nhiều công cụ rời rạc.
- ✓CI/CD qua Gitea Actions, mà README nói có thể tái sử dụng workflow của GitHub Actions, nên các file .yml sẵn có thường không cần viết lại nhiều.
- ✓Package registry tích hợp sẵn để lưu package như npm và Maven artifact (theo các topic docker-registry-v2, maven-server, npm-registry), cộng thêm hỗ trợ container registry.
- ✓Hỗ trợ Git LFS cho file nhị phân dung lượng lớn.
- ✓Viết bằng Go nên chạy được trên Linux, macOS, FreeBSD/OpenBSD và Windows, trên các kiến trúc x86, amd64, ARM, RISC-V 64 và PowerPC — README liệt kê đầy đủ các nền tảng này.
- ✓Có CLI chính thức tên tea và một go-sdk để viết script thao tác với instance Gitea ngoài giao diện web.
- ✓Một binary action runner riêng để chạy job Actions, tách biệt khỏi tiến trình gitea server chính.
- ✓Bản địa hóa qua Crowdin, người dịch được ghi công trong file TRANSLATORS của repo.
Phù hợp để tự host và cộng tác
- •Đội nhóm muốn quy trình kiểu GitHub riêng tư (PR, issue, wiki, Actions) trên hạ tầng do chính họ kiểm soát.
- •Tổ chức không được dùng Git host trên cloud vì chính sách lưu trữ dữ liệu hoặc tuân thủ, vì mọi thứ chạy trên server riêng.
- •Developer đơn lẻ hoặc đội nhỏ muốn có package hosting (npm, kiểu Maven, container image) mà không phải trả tiền cho một registry service riêng.
- •Người mê self-hosting/homelab đã chạy sẵn Docker, muốn gộp về một service gọn nhẹ thay vì chạy nhiều dịch vụ lẻ.
Cài đặt và các cách triển khai
Gitea triển khai dưới dạng một binary Go duy nhất, hoặc qua image Docker/Podman chính thức (gitea/gitea trên Docker Hub) — README không nêu sẵn một lệnh docker run một dòng, nên hãy xem docs.gitea.com để lấy file compose hiện tại. Sau khi build hoặc pull image, `./gitea web` khởi động server và `./gitea help` liệt kê các lệnh có sẵn. Build từ source được hướng dẫn trong docs/build-setup.md và docs/build-source.md trong repo. Nếu không muốn tự vận hành gì cả, gitea.com cung cấp tài khoản hosted miễn phí với số lượng repo giới hạn, cloud.gitea.com cho dùng thử miễn phí một instance được quản lý riêng, và demo.gitea.com để thử giao diện trước.
Các lựa chọn thay thế
Câu hỏi thường gặp
Gitea được phát âm là /ɡɪˈtiː/ — giống 'gi-tea', với âm g cứng, không phải âm j mềm.
Gitea có hai lớp cấu hình: các option động bạn đổi được ngay trong trang admin lúc server đang chạy, và các option tĩnh bạn sửa trong file app.ini, cần restart instance để có hiệu lực.
Gitea liệt kê các bản vá bảo mật trong release log và file CHANGELOG.md trên GitHub — tìm từ khóa SECURITY ở cả hai để ra các mục liên quan.
Gitea chạy trên Linux, macOS, FreeBSD/OpenBSD và Windows, trên các kiến trúc x86, amd64, ARM, RISC-V 64 và PowerPC, vì được viết bằng Go.
Gitea phát hành theo giấy phép MIT, nên bạn có thể tự host, sửa đổi và phân phối lại với rất ít ràng buộc.
Gitea hỗ trợ CI/CD qua Gitea Actions, được mô tả là có thể tái sử dụng workflow của GitHub Actions, cộng thêm một binary action runner riêng để chạy job.
Điểm mạnh
- ✓Một app thay vì năm: hosting, review, issue, package và CI/CD đi chung, không phải ghép nhiều service rời.
- ✓Giấy phép MIT, nên không có gì mập mờ khi tự host để dùng thương mại.
- ✓Chạy được ở bất cứ đâu Go compile được — README liệt kê Linux, macOS, BSD và Windows trên năm kiến trúc CPU, hữu ích với phần cứng homelab lạ.
- ✓CI/CD có thể tái sử dụng YAML của GitHub Actions theo README, giúp dễ chuyển khỏi GitHub mà không phải viết lại từng file workflow.
- ✓Có CLI chính thức (tea) và go-sdk để viết script, không chỉ dùng qua web UI.
Hạn chế & rủi ro
- △README không có sẵn lệnh docker run nhanh hay yêu cầu tài nguyên mặc định, nên lần đầu setup phải tự lục trang tài liệu riêng.
- △Tự chạy Gitea nghĩa là bạn tự lo upgrade, backup và vá bảo mật — README trỏ tới changelog và release log để theo dõi bản vá bảo mật, nhưng áp dụng chúng là việc của bạn.
- △Package registry hỗ trợ nhiều hệ sinh thái (theo các topic docker-registry-v2, maven-server, npm-registry), nhưng README không liệt kê rõ hỗ trợ bao nhiêu registry hay những loại nào.
- △README không nhắc tới kênh hỗ trợ doanh nghiệp hay managed nào ngoài Discord và forum Discourse — không có SLA hỗ trợ khi gặp sự cố production.
Vấn đề mà Gitea giải quyết
Những đội thích quy trình của GitHub — PR, issue, wiki, CI kiểu Actions — nhưng cần chạy hoàn toàn trong mạng nội bộ thường phải ghép bốn, năm công cụ tự host riêng lẻ: một Git server, một app review code, một CI runner, và một package registry. Điểm khác biệt cụ thể của Gitea là gộp toàn bộ chồng công cụ đó vào một binary Go duy nhất, để một server nhỏ thay thế cả đống service rời rạc.
Nên dùng khi nào — và nên bỏ qua khi nào
Chọn Gitea nếu bạn là đội nhỏ hoặc developer đơn lẻ muốn quy trình hàng ngày kiểu GitHub (PR, issue, kanban, CI kiểu Actions) mà không phải gửi repo cho bên thứ ba, và bạn không ngại tự bảo trì một binary Go hay container Docker. Bỏ qua nếu bạn cần một managed service có hỗ trợ từ nhà cung cấp, hoặc đội của bạn đủ lớn để thà trả tiền cho gói doanh nghiệp của GitLab hay GitHub còn hơn tự lo patch và backup theo lịch riêng.
Repo liên quan
Muốn nghe thêm một ý kiến về gitea?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về gitea.
