50% 할인 모든 플랜, 기간 한정. 시작 가격 $2.48/mo
Gogs

Gogs

Gogs는 간편하게 셀프호스팅할 수 있는 Git 서비스입니다. Gitea나 GitLab보다 가볍고, Go로 작성되었으며, 512 MB VPS나 Raspberry Pi에서도 무리 없이 실행됩니다. Go 기반 Git 서버의 원조이자 Gitea의 전신으로, 더 작은 구성을 선호하는 사용자들을 위해 지금도 활발히 유지 관리되고 있습니다.

버전

0.14.2

운영 체제

Ubuntu Server 24.04 LTS

최소 RAM

1 GB

IP 유형

IPV4,IPV6

접근

  • 브라우저를 열고 아래 주소로 이동하세요: https://<SERVER_IP>
  • 브라우저에서 SSL 경고가 표시될 수 있습니다 (자체 서명 인증서)
  • 새 계정 등록
  • 처음 등록한 계정이 관리자가 됩니다.

자체 회원가입 비활성화 (선택 사항)

기본적으로 사용자 자체 회원가입이 활성화되어 있습니다.

1. 설정 파일 수정: /etc/gogs/conf/app.ini

2. 다음 섹션에서 [auth] 섹션, 변경 DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

3. Gogs를 다시 시작합니다:

systemctl restart gogs

주요 파일 및 디렉터리

  • 설치 디렉토리: /opt/gogs
  • 구성 파일: /etc/gogs/conf/app.ini
  • 애플리케이션 데이터: /var/lib/gogs
  • 저장소: /var/lib/gogs/repositories
  • 로그: /var/log/gogs
  • Systemd 서비스 /etc/systemd/system/gogs.service
  • Nginx 설정: /etc/nginx/sites-available/gogs.conf
  • TLS 인증서: /etc/nginx/ssl/

Git 사용법

HTTPS (자체 서명 인증서):

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

SSH (내장 서버):

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

서비스 관리

Gogs:

systemctl status gogs
systemctl restart gogs

Nginx:

systemctl status nginx
systemctl restart nginx

PostgreSQL:

systemctl status postgresql
systemctl restart postgresql

메모

  • 기본 설정 파일 위치: /etc/gogs/conf/app.ini. 설정 파일을 수정한 후 다음 명령으로 서비스를 재시작하세요: systemctl restart gogs.
  • Nginx 업로드 용량 제한은 다음에서 정의됩니다: /etc/nginx/sites-available/gogs.conf 사용하여 client_max_body_size. 대형 저장소의 경우 이 값을 늘리고 Nginx를 재시작하세요.
  • 대규모 배포 환경에서는 아래 항목의 주석을 해제하세요. LimitMEMLOCK=infinityLimitNOFILE=65535 in /etc/systemd/system/gogs.service, 그 다음 실행 systemctl daemon-reload 그리고 Gogs를 재시작하세요.
  • 데이터베이스 자격 증명은 다음 위치에 정의되어 있습니다. /etc/gogs/conf/app.ini.
  • 프로덕션 환경에서는 자체 서명 인증서를 Let's Encrypt 인증서로 교체하는 것을 권장합니다.
  • 자체 서명 인증서를 사용하는 경우, HTTPS 클로닝에는 다음이 필요합니다. GIT_SSL_NO_VERIFY=true.

도메인으로 SSL 활성화하기

1. 도메인을 서버 IP로 연결합니다.

2. Gogs 설정 파일 업데이트 (/etc/gogs/conf/app.ini):

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

3. 변경 사항을 적용하려면 Gogs 서비스를 재시작하세요.

systemctl restart gogs

3. Nginx 설정 파일을 열어 다음 두 항목을 모두 교체하세요. server_name <IP>; 을 실제 도메인으로 교체합니다 (<your-domain>) HTTP (포트 80) 및 HTTPS (포트 443) 블록 모두에 적용합니다:

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

4. Certbot 설치:

apt install -y certbot python3-certbot-nginx

5. 다음 명령어를 실행하여 유효한 Let's Encrypt 인증서를 발급받으세요.

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

6. Nginx 설정 파일에서 SSL 경로를 교체하세요.

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. 변경 사항을 적용하려면 Nginx를 재시작하세요.

systemctl restart nginx

8. 브라우저를 열고 다음 주소로 접속하세요. https://yourdomain.com

DevOps 도구 더 보기

관련 앱.

지금 Gogs를 배포하세요. 월 $2.48부터.