giảm giá 50% tất cả các gói, có thời hạn. Khởi điểm từ $2.48/mo
Gog

Gog

Gogs là dịch vụ Git tự lưu trữ dễ dàng. Nhẹ hơn Gitea và GitLab, được viết bằng Go, chạy thoải mái trên VPS 512 MB hoặc thậm chí là Raspberry Pi. Máy chủ Git dựa trên Go ban đầu, tiền thân của Gitea, vẫn được duy trì tích cực cho những người dùng thích diện tích bề mặt nhỏ hơn.

Phiên bản

0.14.2

Hệ điều hành

Ubuntu Server 24.04 LTS

Tối thiểu. ĐẬP

1 GB

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à điều dự kiến (chứng chỉ tự ký)
  • Đăng ký tài khoản mới
  • Tài khoản đăng ký đầu tiên trở thành Quản trị viên

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

Theo mặc định, tính năng tự đăng ký của người dùng được bật.

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

2. Dưới sự [auth] phần, thay đổi: DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

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

systemctl restart gogs

File và thư mục quan trọng

  • Thư mục cài đặt: /opt/gogs
  • Tập tin 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ụ hệ thống: /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):

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

Quản lý dịch vụ

Gog:

systemctl status gogs
systemctl restart gogs

Nginx:

systemctl status nginx
systemctl restart nginx

PostgreSQL:

systemctl status postgresql
systemctl restart postgresql

Ghi chú

  • Tệp cấu hình chính được đặt tại /etc/gogs/conf/app.ini. Sau khi sửa đổi tệp cấu hình, hãy khởi động lại dịch vụ bằng cách sử dụng systemctl restart gogs.
  • Giới hạn tải lên Nginx được xác định trong /etc/nginx/sites-available/gogs.conf sử dụng client_max_body_size. Tăng nó cho kho lớn và khởi động lại Nginx.
  • Đối với các triển khai lớn, bạn có thể bỏ ghi 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 xác định trong /etc/gogs/conf/app.ini.
  • Để sử dụng trong sản xuất, bạn nên thay thế chứng chỉ tự ký bằng chứng chỉ Let's Encrypt hợp lệ.
  • Nếu sử dụng chứng chỉ tự ký, việc nhân bản HTTPS yêu cầu GIT_SSL_NO_VERIFY=true.

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

1. Trỏ tên miền của bạn về IP 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 các thay đổi:

systemctl restart gogs

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

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. Thay thế đườ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 các thay đổi:

systemctl restart nginx

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

Thêm trong Công cụ DevOps

Ứng dụng liên quan.

Triển khai Gog ngay bây giờ. Từ $2.48/tháng.