Ubuntuサーバ + Docker環境に、GitLabを構築していきます。
Ubuntuサーバの構築方法はこちら。
目次
仮想マシン設定
上記でGitLabのシステム要件を確認すると、最低でもCPU 4コア、メモリ 4GB必要とのこと。
仮想マシンのCPUとメモリも上記に合わせて設定しておきます。
- CPU
- メモリ
Docker構築
Dockerインストール
まずはDockerをインストールします。
apt installではなく、dockerが用意しているインストール用シェルスクリプトを使います。
curl https://get.docker.com | sh
dockerが常時起動するように設定します。
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
ユーザをDockerグループに追加します。
これにより、dockerコマンドをsudoなしで実行可能となります。
追加後、設定を反映させるため、再起動します。
sudo usermod -aG docker <UserName>
sudo reboot
再起動後、dockerが自動で起動しているか確認します。
docker --version
sudo systemctl status docker
Docker-Composeインストール
次に、Docker-Composeをインストールします。
現時点でのDocker-Composeのバージョンはv2.14.2だったので、以下のコマンドを実行します。
※バージョン確認はこちら。
sudo curl -L https://github.com/docker/compose/releases/download/v2.14.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
docker-composeコマンドを実行できるように実行権限を設定し、動作確認。
sudo chmod +x /usr/local/bin/docker-compose
sudo docker-compose --version
GitLab構築
docker-compose.yml
docker-compose.yml作成。
ローカルネットワークでしか使わないので、sshとかhttpsとかの設定はなし。
外部DBとかも使用しない。使っててなにかあれば別途対応。
GitLabにアクセスするためのURLは、「http://”ip address”:”port”」か、ホスト名を設定していれば「http://”host name”:”port”」となります。
ローカル環境であれば、こちらの方法でホスト名が設定できます。
httpポートは、50080でアクセスして、80ポートにリダイレクトするように設定しました。
また、GitLabはユーザ登録時にメール認証を使用するので、メール送信設定も行います。
SMTPサーバはGmailなりOutlookなりのフリーメールを使用。
だいたいの設定方法はGitLabのSMTP settingsで確認できます。
version: '3'
services:
gitlab:
container_name: gitlab
image: 'gitlab/gitlab-ee:latest'
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://aru-server:50080'
nginx['listen_port'] = 80
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = "<mail-address>"
gitlab_rails['gitlab_email_display_name'] = "GitLab Admin"
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.outlook365.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "<mail-address>"
gitlab_rails['smtp_password'] = "<mail-password>"
gitlab_rails['smtp_domain'] = "<domain-name>"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
ports:
- '50080:80'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
docker-compose実行
作成したdocker-compose.ymlと同じディレクトリで、docker-composeを実行します。
docker-compose up -d
接続ポート開放
50080でアクセスするため、ポート開放します。
sudo ufw allow from 192.168.10.0/24 to any port 50080
GitLab初期設定
初期パスワード確認
GitLabには、管理者ユーザとしてrootユーザが登録されています。
rootユーザのパスワードは、以下のコマンドで確認できます。
※このパスワードは、24時間後に削除されてしまうため、初回ログイン時にパスワードを変更します。
docker exec gitlab cat /etc/gitlab/initial_root_password
接続確認
docker-composeのexternal_urlで設定したURLにアクセスします。
※docker-compose直後だと、接続できない場合があります。しばらく経ってから接続してみてください。
http://aru-server:50080
接続できると、ログイン画面が表示されます。
rootユーザでログインします。
日本語化
右上のアイコンをクリックし、「Preferences」を選択します。
Localization > Languageの設定を「Japanese – 日本語」に設定し、Save changesボタンをクリックします。
rootユーザのパスワードを変更する
右上のアイコンをクリックし、「設定」を選択します。
左のサイドバーから、「パスワード」を選択します。
現在のパスワードに、rootログインで使用したパスワードを入力し、新しいパスワードに変更します。
メール送信を確認する
左のサイドバーからメールを選択します。
送信先のメールアドレスを入力し、メールアドレス追加ボタンをクリックします。
設定ができていれば、追加したメールアドレスに確認メールが送信されます。
ユーザの追加方法を設定する
管理者のみがユーザを追加できるように設定を変更します。
左上のメニューから、「管理者」を選択します。
左のサイドバーから、設定 > 一般を選択し、サインアップの制限の「Sign-up enabled」と「Require admin approval for new sign-ups are enabled」のチェックを外して変更を保存します。
ユーザを追加する
左のサイドバーから概要 > ユーザーを選択します。
新しいユーザをクリックします。
名前、Username、メールアドレスを入力し、画面下のCreate userをクリックします。
名前はGitLab上の表示名、Usernameはログイン時に使用するUsernameとなります。
ユーザが作成されました。
パスワードを設定するため、右側の編集をクリックします。
パスワードを設定して、変更を保存します。
作成したユーザとパスワードでログインします。
初回ログイン時、パスワードの変更を求められるので、新しいパスワードを入力して変更します。
新しいパスワードで再度ログインすると、GitLabのホーム画面が表示されます。
まとめ
Dockerの構築から、GitLabの構築、ユーザ追加までまとめました。
次は作成したユーザの設定やらリポジトリの作成やらをまとめたいと思います。
参考URL
dockerとdocker-composeのインストール(Linux編)
Dockerコンテナでgitlabを構築してみた
docker-composeでGitLab
Dockerを用いたGitLabサーバのオンプレミス構築
GitLabの初期パスワード
SMTP settings