「#Github」タグアーカイブ

【Docker】【GitLab】WindowsのDocker環境にGitLabサーバを立ち上げる。

こちらの記事を参考にしました。

https://e-penguiner.com/gitlab-with-docker-onpremise/#google_vignette

今回はローカルのみでの利用を想定しているので、暗号化はしません。

前提条件として、WSL2の有効化とDocker Desktopのインストールが必要です。

そして作業はWindowsストアアプリからLinuxをインストールして、Linux上に構築します。

GitLabサーバの立ち上げ

適当なフォルダを作成し、そのなかにdocker-cmpose.ymlファイルを作成。

version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ee:latest'
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com:8080'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
        nginx['listen_port'] = 80
    ports:
      - '8080:80'
      - '2222:22'
    volumes:
      - '/srv/gitlab/config:/etc/gitlab'
      - '/srv/gitlab/logs:/var/log/gitlab'
      - '/srv/gitlab/data:/var/opt/gitlab'
      

これの内容を説明すると、

Docker作成時に、GitLabの最新バージョンを使用します。

※念のため言うと、実際業務で使用する場合は必ず特定のバージョンを指定するらしい。今回のように常に最新バージョンはアウト。

ポート番号はホスト側8080とコンテナ側80、ホスト側2222とコンテナ側22が接続されます。

80はhttp、22はsshのデフォルトポート番号ですね。

別の番号を使用する場合は設定変更が必要です。

volumesにコンテナのディレクトリにホストのディレクトリをマウントさせます。

この設定では、

コンテナ /etc/gitlab – ホスト /srv/gitlab/config
コンテナ /var/log/gitlab – ホスト /srv/gitlab/logs
コンテナ /var/opt/gitlab – ホスト /srv/gitlab/data

つまりコンテナ側で作成したファイルが、ホストの上のディレクトリに出力されるわけですね。

これでコンテナを立ち上げます。

docker-compose up -d

立ち上がり完了まで待ちます。(結構時間かかります)

docker-compose ps

これで、statusがhealthyと表示されれば立ち上がり完了です。

ブラウザでhttp://自分のIPアドレス:8080にアクセスしてGitLabの画面が表示されればOKです。

rootパスワードの設定

Linuxのコンソールで以下のコマンドを入力します。

docker-compose exec gitlab gitlab-rails console -e production

Rubyのコンソールに切り替わるので、以下のコマンドを入力します。

user = User.where(id: 1).first
user.password = '新しいパスワード'
user.password_confirmation = '新しいパスワード'
user.save!
exit

パスワードは複雑な文字列で入力しないとエラーになります。

正常に入力完了したらログイン画面からrootでログインできることを確認して、

ログイン出来たらOK。