Giảm 50% tất cả các gói, thời gian có hạn. Bắt đầu từ $2.48/mo
Gogs

Gogs

Gogs là dịch vụ Git tự lưu trữ đơn giản, dễ dùng. Nhẹ hơn Gitea và GitLab, viết bằng Go, chạy tốt trên VPS 512 MB hoặc thậm chí Raspberry Pi. Máy chủ Git gốc dựa trên Go, tiền thân của Gitea, vẫn được bảo trì tích cực cho những ai muốn một giải pháp gọn nhẹ hơn.

Phiên bản

0.14.2

Hệ Điều Hành

Ubuntu Server 24.04 LTS Máy chủ

RAM tối thiểu

1 GB

Các loại IP

IPV4,IPV6

Truy cập

  • Mở trình duyệt và truy cập: https://<SERVER_IP>
  • Cảnh báo SSL trên trình duyệt là bình thường (chứng chỉ tự ký)
  • Đăng ký tài khoản mới
  • Tài khoản đăng ký đầu tiên sẽ trở thành Quản trị viên

Tắt tự đăng ký (Tùy chọn)

Theo mặc định, người dùng có thể tự đăng ký tài khoản.

1. Chỉnh sửa file cấu hình: /etc/gogs/conf/app.ini

2. Dưới phần [auth] mục, thay đổi DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

3. Khởi động lại Gogs:

systemctl restart gogs

Các file và thư mục quan trọng

  • Thư mục cài đặt: /opt/gogs
  • Tệp cấu hình: /etc/gogs/conf/app.ini
  • Dữ liệu ứng dụng: /var/lib/gogs
  • Kho lưu trữ: /var/lib/gogs/repositories
  • Nhật ký: /var/log/gogs
  • Dịch vụ Systemd: /etc/systemd/system/gogs.service
  • Cấu hình Nginx: /etc/nginx/sites-available/gogs.conf
  • Chứng chỉ TLS: /etc/nginx/ssl/

Cách sử dụng Git

HTTPS (chứng chỉ tự ký):

GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git

SSH (máy chủ tích hợp sẵn):

git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git

Quản lý Dịch vụ

Gogs:

systemctl status gogs
systemctl restart gogs

Nginx:

systemctl status nginx
systemctl restart nginx

PostgreSQL:

systemctl status postgresql
systemctl restart postgresql

Ghi chú

  • File cấu hình chính nằm tại /etc/gogs/conf/app.ini. Sau khi chỉnh sửa file cấu hình, khởi động lại dịch vụ bằng lệnh systemctl restart gogs.
  • Giới hạn upload của Nginx được định nghĩa trong /etc/nginx/sites-available/gogs.conf sử dụng client_max_body_size. Tăng giá trị này cho các repository lớn và khởi động lại Nginx.
  • Với các triển khai lớn, bạn có thể bỏ chú thích LimitMEMLOCK=infinityLimitNOFILE=65535 in /etc/systemd/system/gogs.service, sau đó chạy systemctl daemon-reload và khởi động lại Gogs.
  • Thông tin xác thực cơ sở dữ liệu được định nghĩa trong /etc/gogs/conf/app.ini.
  • Khi dùng trong môi trường production, nên thay chứng chỉ tự ký bằng chứng chỉ Let's Encrypt hợp lệ.
  • Nếu dùng chứng chỉ tự ký, việc clone qua HTTPS yêu cầu GIT_SSL_NO_VERIFY=true.

Kích hoạt SSL với tên miền

1. Trỏ tên miền của bạn về địa chỉ IP của máy chủ.

2. Cập nhật cấu hình Gogs (/etc/gogs/conf/app.ini):

EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com

3. Khởi động lại dịch vụ Gogs để áp dụng thay đổi:

systemctl restart gogs

3. Chỉnh sửa cấu hình Nginx và thay cả hai server_name <IP>; với tên miền của bạn (<your-domain>) cho cả HTTP (cổng 80) và HTTPS (cổng 443) như sau:

vim /etc/nginx/sites-available/gogs.conf

4. Cài đặt Certbot:

apt install -y certbot python3-certbot-nginx

5. Chạy lệnh sau để tạo chứng chỉ Let's Encrypt hợp lệ:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

6. Cập nhật đường dẫn SSL trong cấu hình Nginx:

vim /etc/nginx/sites-available/gogs.conf
# Before:
    # ssl_certificate /etc/nginx/ssl/gogs.crt;
    # ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

7. Khởi động lại Nginx để áp dụng thay đổi:

systemctl restart nginx

8. Mở trình duyệt và truy cập: https://yourdomain.com

Thêm về Công cụ DevOps

Các ứng dụng liên quan.

Triển khai Gogs ngay. Từ $2.48/tháng.