GitLab Container
環境構築
下記のようなファイル構成を想定しています。
Important
gitlab_container
|-- certs/
|-- docker-compose.yaml
サーバ証明書の用意
GitLab コンテナ構築時にサーバ証明書も用意してくれるのですが、有効期限が 1 カ月と短く、gitlab-runner を使うときに支障が出るので、自前のサーバ証明書を用意します。
秘密鍵はパスワードを設定するか、SoftHSM のようなアプリで管理すべきだと思いますが、自分しか使用者がいないので、その辺は考えないことにしています。
以下の作業は gitlab_container/certs で実行することを前提にしています。
- 
自己認証局秘密鍵・公開鍵の作成 
- 
サーバ証明書作成 - 
CSR 
- 
Subject Alternative Name の準備 ここでは san.txtとします。
- 
CSR へ署名 
 
- 
コンテナの用意
- docker-compose.yaml
version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:17.5.1-ce.0'
    container_name: gitlab
    restart: always
    hostname: gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        # Add any other gitlab.rb configuration here, each on its own line
        external_url 'https://dev.gitlab.local'
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
    volumes:
      - './volume/config:/etc/gitlab'
      - './volume/logs:/var/log/gitlab'
      - './volume/data:/var/opt/gitlab'
      - './certs:/etc/gitlab/ssl'
    shm_size: '256m'
  #gitlab-runner:
  #  image: gitlab/gitlab-runner:latest
  #  restart: always
  #  volumes:
  #    - ./volume/gitlab-runner/config:/etc/gitlab-runner
  #    - /var/run/docker.sock:/var/run/docker.sock
初回起動
- 
STATUS が ↓health: starting⇒healthyになるまで待つ (5 分くらい?)
- 
初回ログイン デフォルトユーザ名は rootで、デフォルトパスワードは下記コマンドで取得できます。
 initial_root_password は暫くすると自動で削除されるので、早めに root パスワードを変更するか、このファイルのコピーを保存しておきましょう。