Docker로 Gitea 설치하는 방법

Docker로 Gitea 설치하는 방법

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으로 접속하여 초기 설정을 진행할 수 있습니다. 초기 설정은 몇 가지 간단한 단계로 이루어집니다.

  1. 데이터베이스 설정: 기본적으로 SQLite를 사용할 수 있습니다. 별도 DB를 설정하려면 MySQL이나 PostgreSQL을 사용할 수도 있습니다.
  2. 애플리케이션 설정: Gitea의 URL, SSH 서버 도메인 및 포트를 설정할 수 있습니다. 기본값은 그대로 두어도 무방합니다.
  3. 관리자 계정 생성: 관리자 계정을 생성하여 Gitea를 관리할 수 있도록 합니다.

초기 설정이 완료되면, 이제 Gitea가 완전히 설치되어 사용할 준비가 된 것입니다! 🎉


5. Gitea 사용 시작하기

설치가 완료된 Gitea는 팀 협업용 코드 저장소로 바로 활용할 수 있습니다. 리포지토리를 생성하고 팀 멤버를 추가해 협업 환경을 구축할 수 있으며, 필요한 경우 Gitea의 다양한 플러그인으로 기능을 확장할 수도 있습니다.

또한, Gitea는 GitHub와 유사한 UI와 기능을 제공하기 때문에 기존 GitHub 사용자라면 쉽게 적응할 수 있을 것입니다.


Docker로 Gitea를 설치하고 설정하는 과정이 쉽지 않으셨다면 댓글로 질문을 남겨주세요! 직접 설치해 보면서 경험을 공유해 주시면 다른 독자들에게도 큰 도움이 될 것입니다. 😊