본문으로 건너뛰기
50% 할인 모든 플랜, 기간 한정. 시작 가격 $2.48/mo
Gogs

Gogs

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

한눈에 보기

47.6k

GitHub 스타

56

페이지 조회수

149

활성 설치

라이선스 MIT 버전 0.14.2 OS Ubuntu Server 24.04 LTS Min 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부터.