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 パスワードを変更するか、このファイルのコピーを保存しておきましょう。