docker-compose.yml 파일 준비

GitLab 작업 디렉토리(예: /data/gitlab/)에 docker-compose.yml 파일을 생성합니다.

vi docker-compose.yml

아래 내용을 추가하고 저장합니다. hostnameexternal_url은 설치할 서버의 IP 또는 도메인으로 반드시 수정해야 합니다.

version: '3.9'

services:
  gitlab:
    image: 'gitlab/gitlab-ee:16.1.0-ee.0'
    container_name: gitlab
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.example.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 8022
        # Add any other gitlab.rb configuration here, each on its own line        
      TZ: 'Asia/Seoul'
    ports:
      - '80:80'
      - '443:443'
      - '8022:22'
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'

image에 ‘gitlab/gitlab-ce:latest’ 또는 ‘gitlab/gitlab-ee:latest’를 지정하면 CE/EE 최신 버전의 GitLab이 설치되고, 특정 태그 버전의 이미지를 사용하면 해당 버전의 GitLab이 설치됩니다.
SSH 22 포트를 이미 사용 중인 경우(Cloud 서버), 위와 같이 포트를 변경할 수 있습니다.

라이선스 없이 GitLab Enterprise Edition을 설치한 경우, 일반적인 Community Edition 인스턴스와 동일한 기능을 모두 사용할 수 있으며, 추가적인 이점이 있습니다.

  1. 언제든지 유료 기능을 평가하고 싶다면, 새 인스턴스를 설치 및 구성하거나 기존 인스턴스를 업그레이드하지 않고도 이 작업을 수행할 수 있습니다. GitLab 내에서 평가판을 활성화하기만 하면 됩니다. 유료 기능에 만족하지 않는 경우 평가판이 만료된 후 인스턴스가 자동으로 무료 기능으로 되돌아갑니다.
  2. Community Edition에서 Enterprise Edition으로 업그레이드하려면 동일한 버전을 사용하고 있는지 확인하고 종종 다운 타임이 필요한 특정 단계를 따라야 합니다. Enterprise Edition을 사용하는 경우 클릭 한 번으로 유료 기능으로 업그레이드할 수 있습니다.