오늘도 한 뼘 더

[Git] Self-manage Git Lab docker-compose로 올리기 본문

Study/Git

[Git] Self-manage Git Lab docker-compose로 올리기

나른한댕댕이🐶 2023. 2. 23. 14:13
728x90
반응형

  # 배경  

회사에서 GitLab을 사용 중이었는 데 사용한 가장 큰 이유는 무료로 사용이 가능해서였다.

그러다가 업그레이드를 하지 않으면 읽기 전용으로만 사용 가능하다는 알림을 받게 되었다.

5명을 초과하는 인원의 contributor를 무료 버전에서는 지원하지 않는다는 내용이었다.

그래서, 자체 관리형 gitlab을 알게 되었고 직접 GitLab 서버를 설치해서 진행해보고자 한다.

 

  # GitLab 이미지  

https://hub.docker.com/u/gitlab

 

Docker

 

hub.docker.com

GitLab 이미지는 gitlab-ee(Enterprise Edition)과 gitlab-ce(Community Edtion) 두 가지로 제공이 된다.

두 이미지는 기능이 거의 같지만 EE 버전에서 추가로 제공하는 기능이 있다.

EE의 경우 추후 유료 티어로 업그레이드가 바로 가능하지만, CE의 경우로 GitLab 서버를 배포하면 이후 다시 새로 서버를 올려야 하는 번거로움이 있다.

이후에 어떻게 진행이 될지 모르지만, 업그레이드할 수 있다는 가능성을 열어두고 EE버전으로 진행하였다.

 

  # Docker-Compose 사용하기  

https://docs.gitlab.com/ee/install/docker.html

 

GitLab Docker images | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

GitLab 문서를 보면 Docker를 사용하여 설치하는 방법을 자세히 설명해주고 있다.

 

## docker-compose.yaml

version: '3.6'
services:
  web:
    container_name: gitlab
    image: 'gitlab/gitlab-ee:latest'
    restart: always
    hostname: "gitlab.test.com"
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.test.com:8000'
        # Add any other gitlab.rb configuration here, each on its own line
      GITLAB_TIMEZONE: Asia/Seoul
    ports:
      - '8000:8000'
    volumes:
      - '/data/gitlab/config:/etc/gitlab'
      - '/data/gitlab/logs:/var/log/gitlab'
      - '/data/gitlab/data:/var/opt/gitlab'
    shm_size: '256m'
  • port : 80 포트가 이미 사용 중인 포트여서 제대로 작동되지 않을 수 있어 다른 포트를 사용하여 nginx로 연결될 수 있도록 설정
  • volume : docker 컨테이너가 내려가더라도 데이터의 보존을 위한 설정. 로컬 서버의 경로를 제대로 명시해야 한다.

제대로 docker가 올라갔다면 위의 external url을 입력하였을 때 다음과 같은 페이지가 떠야 한다. 

728x90
반응형
Comments