Gitea on Docker
Albert Hongseok Gu
2 min read
Table of contents
1. 서론.
- 파일의 변경 이력을 남겨야 하는 경우가 있습니다. 특히 IT 분야에서는 이슈 발생 시 이력을 확인해서 대응하는 일이 기본입니다. 누가 변경했는지도 확인되므로 해당 담당자를 통해 빠르게 처리 가능하고요.
- 여러 툴들이 있지만 현재 Git이 주로 사용되며, Git에 대한 설명은 Git Book에 잘 정리되어 있습니다.
- 리눅스를 개발한 리누스 토발즈가 소스코드 관리 툴인 BitKeeper를 이용하다가 문제가 발생해 별도로 단기간에 만들었다고 하죠(해당 인터뷰).
- 이후 여러 서비스들이 생겨났고, GitHub과 GitLab이 주로 사용됩니다.
- 초기에 GitHub은 Git의 기능과 이슈 커뮤니케이션에 초점을 둔 반면 GitLab은 CI/CD까지 포함한 프로젝트 통합 관리 서비스 성격이 강했지만, 여러 기능들이 추가되고 발전하면서 그러한 성격이 많이 희석되었습니다.
- GitLab은 오픈소스이며, GitHub은 오픈소스가 아니지만 중국에서 그대로 카피한 Gitea가 오픈소스로 개발되어 서비스 중입니다.
- Git은 분산 저장소라서 싱크만 된다면 어디에 위치하던 관계 없습니다. .git 디렉토리가 저장소이며, 복사하면 그것 또한 저장소로 사용할 수 있습니다. Getting Git on a Server를 참고해 보세요.
- 개인 소스코드 저장소를 git으로 전환한 이후 개인 서버에 두고 이용하다가, 협업 시 사용자 권한 제어가 필요해 Gitolite를 이용하다가, CI/CD까지 겸비한 GiLab을 이용하다가, 이슈관리 UI가 편한 GitHub에 익숙해진 뒤, Gitea를 이용하게 되었습니다.
- 개인 서버에 설치해서 사용해보니 GitHub의 UX를 거의 그대로 사용할 수 있어서 메인 소스코드 서비스로 이용하고 있습니다.
2. Gitea on Docker.
2-1. 문서.
- Gitea 설치 방법은 Installation을 참고하시면 됩니다.
- Docker로 실행하는 방법은 Install with Docker를 참고하시면 됩니다.
2-2. Docker compose로 실행.
- Docker compose로 아래 명령어와 같이 간단히 실행할 수 있습니다.
- Docker non-root user를 docker-user로 지정했습니다.
- 모든 데이터가 컨테이너의 /data 디렉토리에 저장되므로, 데이터 유지를 위해 볼륨을 마운트 해줍니다.
$ su - docker-user $ mkdir -p ~/workspace/gitea/data $ cd ~/workspace/gitea $ vi docker-compose.yml version: "3" services: gitea: image: gitea/gitea:1.22.0 container_name: gitea restart: unless-stopped environment: - TZ=Asia/Seoul - LANG=ko_KR.UTF-8 - LANGUAGE=ko_KR:ko:en_US:en - LC_ALL=ko_KR.UTF-8 - USER_UID=${UID} - USER_GID=${GID} volumes: - ./data:/data ports: - 2222:2222 - 3000:3000 $ UID=$(id -u) GID=$(id -g) docker compose -f docker-compose.yml up -d
3. 초기 설정.
- Gitea 실행 후 웹 브라우저로 3000 포트에 처음 접속하면 초기 설정 페이지로 이동합니다.
- 나머지 옵션들은 필요에 따라 설정하되, 도커로 매핑한 포트는 맞추어 주어야 합니다.
- SSH 서버 포트: 2222
- Gitea HTTP 수신 포트: 3000
- Gitea 기본 URL: http://{ip address or domain}:3000/
- 옵션 입력 후 'Gitea 설치하기' 버튼을 선택하면 설치가 진행됩니다.
- 설치가 완료되면 처음에는 계정이 없으며, 처음 등록한 계정이 관리자가 됩니다. 저는 manager로 등록했습니다.
- manager 계정으로 처음 로그인 한 화면.
0
Subscribe to my newsletter
Read articles from Albert Hongseok Gu directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by