GitLab(Docker版)構築した際、設定で誤ってSignin enabledのチェック外してログイン画面でログインできない状態に陥ってしまったことがありました。その時に行った復旧手順を記しておきます。
ってか、なんでサインインさせない設定あるんだろう・・・
前提
本手順は、DockerのGitLab(sameersbn/docker-gitlab)で構築している前提としていますが、Dockerコマンドを除けばDockerを使わずに構築した際にも使える手順かと思います。
復旧手順
1.GitLabコンテナ内に接続
docker exec -it <GitLabコンテナ名 or GitLabコンテナID> bash
(※docker attachコマンドが使えないので上記コマンド実行。詳細を知りたい方はこちらを参照。)
2.GitLabのrailsコンソール起動(GitLabコンテナ内)
cd /home/git/gitlab
sudo -u git -H bundle exec rails console production
(※他のサイトではよく「sudo gitlab-rails console」を使えと記載されているが、DockerのGitLabではgitlab-railsが存在しないので上記コマンドを利用。)
【実行結果】
3.railsコンソール内でSignin enabledを設定&コンソールから抜ける(GitLabコンテナ内)
ApplicationSetting.last.update_attributes(signin_enabled: true)
exit
【実行結果】
4.GitLabコンテナから抜ける(GitLabコンテナ内)
exit
5.GitLabコンテナ再起動
docker restart <GitLabコンテナ名 or GitLabコンテナID>
上記手順後にGitLabのログイン画面にアクセスするとログインできるようになっているはず。
【ログイン画面】
以上。