Gitea 설치하기 | Docker로 나만의 Git 서버 구축하는 방법

개발을 하다 보면 소스 코드를 안전하게 보관하고 변경 이력을 관리하는 것이 매우 중요합니다. 개인 프로젝트뿐 아니라 여러 명이 함께 개발하는 팀 프로젝트에서도 버전 관리는 필수적인 요소입니다.

가장 널리 사용되는 Git 저장소 서비스는 GitHub입니다. GitHub는 편리한 기능과 뛰어난 협업 환경을 제공하지만, 모든 코드를 외부 서비스에 저장해야 하며 일부 기능은 유료 요금제가 필요합니다.

이러한 이유로 많은 개발자와 홈 서버 사용자들이 Gitea를 선택합니다.

Gitea는 GitHub와 비슷한 기능을 제공하는 가볍고 빠른 오픈소스 Git 서버입니다. Docker를 이용하면 누구나 손쉽게 개인 Git 서버를 구축할 수 있으며, 프로젝트와 소스 코드를 직접 관리할 수 있습니다.

이번 글에서는 Gitea가 무엇인지, 어떤 기능을 제공하는지, 그리고 Docker를 이용해 홈 서버에서 운영하는 이유를 자세히 알아보겠습니다.

Gitea란?

Gitea는 오픈소스 Git 저장소 관리 플랫폼입니다.

쉽게 말해 GitHub를 개인 서버에서 직접 운영할 수 있도록 만든 프로그램이라고 생각하면 이해하기 쉽습니다.

웹 브라우저를 통해 저장소를 생성하고, Git으로 소스 코드를 업로드하거나 다운로드할 수 있으며, 여러 사용자를 초대해 협업도 가능합니다.

가볍고 설치가 간단해 Raspberry Pi와 같은 저사양 장비에서도 안정적으로 운영할 수 있는 것이 특징입니다.

Git이란?

Gitea를 이해하려면 먼저 Git이 무엇인지 알아야 합니다.

Git은 소스 코드의 변경 이력을 관리하는 분산 버전 관리 시스템(Version Control System)​입니다.

파일을 수정할 때마다 변경 내용을 기록하고, 이전 버전으로 되돌리거나 여러 개발자가 동시에 같은 프로젝트를 작업할 수 있도록 도와줍니다.

현재 대부분의 소프트웨어 개발 프로젝트에서 Git을 기본 버전 관리 도구로 사용하고 있습니다.

Gitea를 사용하는 이유

GitHub는 매우 뛰어난 서비스이지만, 개인 서버를 운영하면 다음과 같은 장점이 있습니다.

  • 소스 코드를 직접 관리할 수 있다.
  • 저장 용량을 자유롭게 확장할 수 있다.
  • 사내 프로젝트를 외부에 공개하지 않아도 된다.
  • 인터넷 연결 없이 내부 네트워크에서 사용할 수 있다.
  • 사용자를 자유롭게 관리할 수 있다.

특히 기업이나 개인 프로젝트에서 민감한 코드를 다루는 경우 자체 Git 서버를 구축하는 사례가 많습니다.

Gitea의 주요 기능

Gitea는 GitHub와 비슷한 다양한 기능을 제공합니다.

대표적인 기능은 다음과 같습니다.

  • Git 저장소 관리
  • 사용자 계정 관리
  • 조직(Organization) 생성
  • 저장소 권한 관리
  • Pull Request
  • Issue 관리
  • Wiki 기능
  • Release 관리
  • Webhook 지원
  • SSH 인증
  • HTTPS 지원
  • 코드 검색

개인 프로젝트부터 소규모 팀 협업까지 충분히 활용할 수 있는 기능을 갖추고 있습니다.

GitHub와 비슷한 사용 환경

Gitea의 웹 인터페이스는 GitHub와 매우 유사합니다.

저장소 생성, 브랜치 관리, 커밋 기록 확인, Pull Request, Issue 관리 등을 웹에서 쉽게 사용할 수 있습니다.

이미 GitHub를 사용해 본 경험이 있다면 Gitea도 비교적 빠르게 적응할 수 있습니다.

Docker로 설치하는 이유

Gitea는 Docker 환경에서 매우 많이 사용됩니다.

Docker를 이용하면 설치 과정이 간단하며 운영체제와 분리된 환경에서 실행되기 때문에 관리가 편리합니다.

업데이트도 새로운 Docker 이미지를 내려받아 컨테이너를 교체하는 방식으로 진행할 수 있어 유지보수가 쉽습니다.

Docker Compose를 활용하면 데이터베이스와 함께 하나의 프로젝트로 관리할 수 있습니다.

Gitea와 함께 사용하는 데이터베이스

Gitea는 다양한 데이터베이스를 지원합니다.

대표적으로 다음과 같은 데이터베이스를 사용할 수 있습니다.

  • SQLite
  • MariaDB
  • MySQL
  • PostgreSQL

개인 테스트 환경에서는 SQLite만으로도 충분하지만, 장기적으로 운영하거나 여러 사용자가 접속하는 환경이라면 MariaDB 또는 PostgreSQL을 사용하는 것이 일반적입니다.

SSH를 이용한 Git 관리

Gitea에서는 HTTPS뿐 아니라 SSH를 이용한 Git 저장소 관리도 가능합니다.

SSH 키를 등록하면 비밀번호를 반복해서 입력하지 않아도 안전하게 프로젝트를 관리할 수 있습니다.

개발 환경에서는 SSH 방식을 가장 많이 사용하며, 자동화 도구와 연동하기에도 편리합니다.

Gitea와 GitHub의 차이

Gitea와 GitHub는 비슷한 기능을 제공하지만 몇 가지 차이점이 있습니다.

GitHub는 클라우드 기반 서비스로 뛰어난 협업 기능과 다양한 외부 서비스 연동을 제공합니다.

반면 Gitea는 사용자가 직접 서버를 운영하기 때문에 저장 공간과 접근 권한을 자유롭게 관리할 수 있으며, 데이터를 직접 보관할 수 있습니다.

또한 비교적 적은 시스템 자원으로도 안정적으로 운영할 수 있어 홈 서버 환경에 적합합니다.

Gitea를 설치하기 전에 준비할 것

안정적인 운영을 위해 다음 사항을 준비하는 것이 좋습니다.

  • Ubuntu Server
  • Docker
  • Docker Compose
  • MariaDB 또는 PostgreSQL
  • 고정 내부 IP
  • HTTPS 환경
  • 도메인 또는 DDNS

외부에서도 Git 저장소에 접근하려면 HTTPS와 적절한 보안 설정을 함께 적용하는 것이 좋습니다.

Gitea의 장점

1. 소스 코드를 직접 관리할 수 있다

프로젝트 데이터를 자신의 서버에 저장하므로 외부 서비스 정책에 영향을 덜 받으며 데이터를 직접 관리할 수 있습니다.

2. 가볍고 빠르다

Gitea는 시스템 자원 사용량이 적어 저사양 홈 서버에서도 안정적으로 운영할 수 있습니다.

3. 협업 기능 제공

사용자 권한 관리, Pull Request, Issue, Wiki 등 팀 프로젝트에 필요한 기능을 기본적으로 제공합니다.

4. Docker와 궁합이 좋다

Docker Compose를 활용하면 설치와 업데이트, 백업, 서버 이전이 매우 간편합니다.

5. 무료 오픈소스

Gitea는 오픈소스 프로젝트로 개인과 기업 모두 자유롭게 사용할 수 있으며, 활발한 커뮤니티를 통해 지속적으로 업데이트되고 있습니다.

Gitea를 사용할 때 주의할 점

안정적인 운영을 위해 다음 사항을 함께 고려하는 것이 좋습니다.

  • 관리자 계정을 안전하게 관리한다.
  • HTTPS를 적용한다.
  • 정기적으로 백업한다.
  • Docker 이미지를 최신 상태로 유지한다.
  • 데이터베이스도 함께 백업한다.

특히 Git 저장소는 프로젝트의 핵심 자산이므로 데이터 백업은 반드시 준비해야 합니다.

Gitea와 함께 사용하면 좋은 서비스

Gitea는 다른 홈 서버 서비스와 함께 사용할 때 더욱 효율적인 개발 환경을 만들 수 있습니다.

대표적인 조합은 다음과 같습니다.

  • Jenkins
  • Drone CI
  • Grafana
  • Prometheus
  • Nginx Proxy Manager
  • Vaultwarden
  • Portainer

이러한 서비스를 함께 구성하면 코드 관리부터 자동 빌드, 모니터링, 보안까지 하나의 홈 서버에서 통합 운영할 수 있습니다.

이런 사용자에게 추천합니다

Gitea는 다음과 같은 사용자에게 특히 추천합니다.

  • 개인 Git 서버를 구축하고 싶은 사용자
  • GitHub 대안을 찾는 사용자
  • 프로젝트를 직접 관리하고 싶은 개발자
  • Docker 기반 개발 환경을 구축하려는 사용자
  • 팀 프로젝트를 자체 서버에서 운영하고 싶은 사용자
  • 홈 서버 활용도를 높이고 싶은 사용자

개인 개발자는 물론 소규모 팀이나 학습용 프로젝트를 운영하는 환경에서도 매우 유용하게 활용할 수 있습니다.

마무리

Gitea는 GitHub와 유사한 기능을 제공하는 가볍고 강력한 오픈소스 Git 서버입니다. Docker를 이용하면 누구나 쉽게 설치할 수 있으며, 소스 코드와 프로젝트 데이터를 직접 관리할 수 있다는 점이 가장 큰 장점입니다.

특히 MariaDB 또는 PostgreSQL, Nginx Proxy Manager, Vaultwarden, Grafana, Prometheus와 함께 구성하면 보안성과 운영 효율성을 모두 갖춘 개발 환경을 구축할 수 있습니다. 홈 서버를 단순한 저장 공간이 아니라 개발과 협업을 위한 플랫폼으로 활용하고 싶다면 Gitea는 반드시 한 번 경험해 볼 가치가 있는 서비스입니다.

댓글 남기기

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.