
Gitea는 GitHub와 유사한 기능을 제공하는 오픈 소스 Git 호스팅 플랫폼입니다. 자체 서버에서 Git 리포지토리를 관리하고 싶은 개인이나 소규모 팀에게 매우 유용하죠. 특히, Docker를 활용하면 Gitea 설치와 환경 설정을 간단하게 처리할 수 있습니다. 이번 글에서는 Docker를 이용해 Gitea를 설치하는 방법을 단계별로 설명해 드리겠습니다.
Gitea와 Docker: 기본 개념 이해하기
먼저 Gitea와 Docker의 개념을 간략하게 짚고 넘어가겠습니다.
- Gitea는 오픈 소스 Git 서비스로, GitLab이나 GitHub처럼 리포지토리 관리와 협업 기능을 제공합니다. 가벼운 성능 덕분에 서버 자원이 많지 않은 환경에서도 부담 없이 운영할 수 있습니다.
- Docker는 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있게 하는 도구입니다. Docker를 사용하면 서버 환경의 차이로 발생할 수 있는 문제를 줄이고, 쉽게 설치와 배포가 가능합니다.
따라서 Docker로 Gitea를 설치하면 복잡한 환경 설정 없이 Gitea를 바로 사용할 수 있다는 큰 장점이 있습니다.
1. Docker와 Docker Compose 설치하기
Docker와 Docker Compose는 Gitea를 설치하기 위해 꼭 필요한 툴입니다. Docker는 애플리케이션을 컨테이너 형태로 실행하고, Docker Compose는 여러 컨테이너를 한 번에 관리하는 도구입니다.
Docker 설치하기
Docker 설치는 아래 명령어를 사용해 간단히 할 수 있습니다.
# Docker 설치
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Docker 설치가 끝나면 서비스가 잘 실행되는지 확인해보세요.
# Docker 실행 상태 확인
sudo systemctl start docker
sudo systemctl enable docker
docker --version
Docker Compose 설치하기
Docker Compose도 마찬가지로 간단하게 설치할 수 있습니다.
# Docker Compose 설치
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
이제 Docker와 Docker Compose 설치가 완료되었습니다. 이 두 가지가 설치되면 Gitea를 컨테이너로 실행할 준비가 된 것입니다.
2. Docker Compose 파일 작성하기
이제 Gitea를 실행할 Docker Compose 파일을 작성할 차례입니다. 이 파일에는 Gitea가 작동하기 위한 환경과 데이터베이스 설정이 포함됩니다.
프로젝트 폴더를 하나 만들어서 이동한 후, docker-compose.yml 파일을 생성하세요.
# 폴더 생성 및 이동
mkdir gitea-docker
cd gitea-docker
# docker-compose.yml 파일 생성
touch docker-compose.yml
docker-compose.yml 파일에 아래 내용을 추가합니다.
version: "3"
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
ports:
- "3000:3000"
- "222:22"
volumes:
- gitea_data:/data
restart: always
volumes:
gitea_data:
여기서 각 설정의 의미는 다음과 같습니다.
- image: Gitea 이미지를 지정합니다.
gitea/gitea:latest는 최신 버전의 Gitea 이미지를 가져옵니다. - container_name: 컨테이너 이름을 지정합니다.
- environment: 환경 변수로 사용자와 그룹의 ID를 설정해 권한 문제를 방지합니다.
- ports: 포트를 설정합니다.
3000:3000은 웹 인터페이스용 포트,222:22는 SSH 접속용 포트입니다. - volumes: Gitea 데이터를 영구적으로 저장할 볼륨을 지정합니다.
3. Docker Compose로 Gitea 컨테이너 실행하기
설정이 완료되면 docker-compose.yml 파일을 이용해 컨테이너를 실행해 보겠습니다.
# Docker Compose로 컨테이너 실행
docker-compose up -d
명령어가 실행되면 Gitea 컨테이너가 백그라운드에서 실행됩니다. 설치가 성공적으로 완료되었는지 확인하려면 다음 명령어를 사용하세요.
docker ps
컨테이너 목록에서 gitea가 실행 중이면 설치가 잘된 것입니다.
4. Gitea 초기 설정
Gitea 설치가 끝났다면 웹 브라우저에서 http://localhost:3000으로 접속하여 초기 설정을 진행할 수 있습니다. 초기 설정은 몇 가지 간단한 단계로 이루어집니다.
- 데이터베이스 설정: 기본적으로 SQLite를 사용할 수 있습니다. 별도 DB를 설정하려면 MySQL이나 PostgreSQL을 사용할 수도 있습니다.
- 애플리케이션 설정: Gitea의 URL, SSH 서버 도메인 및 포트를 설정할 수 있습니다. 기본값은 그대로 두어도 무방합니다.
- 관리자 계정 생성: 관리자 계정을 생성하여 Gitea를 관리할 수 있도록 합니다.
초기 설정이 완료되면, 이제 Gitea가 완전히 설치되어 사용할 준비가 된 것입니다! 🎉
5. Gitea 사용 시작하기
설치가 완료된 Gitea는 팀 협업용 코드 저장소로 바로 활용할 수 있습니다. 리포지토리를 생성하고 팀 멤버를 추가해 협업 환경을 구축할 수 있으며, 필요한 경우 Gitea의 다양한 플러그인으로 기능을 확장할 수도 있습니다.
또한, Gitea는 GitHub와 유사한 UI와 기능을 제공하기 때문에 기존 GitHub 사용자라면 쉽게 적응할 수 있을 것입니다.
Docker로 Gitea를 설치하고 설정하는 과정이 쉽지 않으셨다면 댓글로 질문을 남겨주세요! 직접 설치해 보면서 경험을 공유해 주시면 다른 독자들에게도 큰 도움이 될 것입니다. 😊