docker-composeを使ってgitlabを構築する

docker-composeを使用してgitlabを構築する手順を記述してます。日本語化してリポジトリを作成してpushのするまでの手順を記述してます。
環境
- OS 7.7.1908 (Core)
- docker 19.03.8
- docker-compose 1.25.4
※CentOs7 最新版のdockerをインストール手順はこちら
docker-compose.yml作成
gitlab用のdocker-compose.ymlがこちらにあったので、これを利用します。
データの永続化やバックアップの設定など、網羅的に設定できるの非常に使い勝手がいいです。
- GITLAB_BACKUP_SCHEDULE daily 日毎にバックアップ
- GITLAB_BACKUP_TIME 1:00 バックアップの時間
version: '2'
services:
redis:
restart: always
image: sameersbn/redis:4.0.9-2
command:
- --loglevel warning
volumes:
- redis-data:/var/lib/redis:Z
postgresql:
restart: always
image: sameersbn/postgresql:10-2
volumes:
- postgresql-data:/var/lib/postgresql:Z
environment:
- DB_USER=gitlab
- DB_PASS=password
- DB_NAME=gitlabhq_production
- DB_EXTENSION=pg_trgm
gitlab:
restart: always
image: sameersbn/gitlab:12.9.2
depends_on:
- redis
- postgresql
ports:
- "10080:80"
- "10022:22"
volumes:
- gitlab-data:/home/git/data:Z
environment:
- DEBUG=false
- DB_ADAPTER=postgresql
- DB_HOST=postgresql
- DB_PORT=5432
- DB_USER=gitlab
- DB_PASS=password
- DB_NAME=gitlabhq_production
- REDIS_HOST=redis
- REDIS_PORT=6379
- TZ=Asia/Tokyo
- GITLAB_TIMEZONE=Tokyo
- GITLAB_HTTPS=false
- SSL_SELF_SIGNED=false
- GITLAB_HOST=localhost
- GITLAB_PORT=10080
- GITLAB_SSH_PORT=10022
- GITLAB_RELATIVE_URL_ROOT=
- GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_ROOT_PASSWORD=
- GITLAB_ROOT_EMAIL=
- GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
- GITLAB_NOTIFY_PUSHER=false
- GITLAB_EMAIL=notifications@example.com
- GITLAB_EMAIL_REPLY_TO=noreply@example.com
- GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
- GITLAB_BACKUP_SCHEDULE=daily
- GITLAB_BACKUP_TIME=01:00
- SMTP_ENABLED=false
- SMTP_DOMAIN=www.example.com
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=587
- SMTP_USER=mailer@example.com
- SMTP_PASS=password
- SMTP_STARTTLS=true
- SMTP_AUTHENTICATION=login
- IMAP_ENABLED=false
- IMAP_HOST=imap.gmail.com
- IMAP_PORT=993
- IMAP_USER=mailer@example.com
- IMAP_PASS=password
- IMAP_SSL=true
- IMAP_STARTTLS=false
- OAUTH_ENABLED=false
- OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
- OAUTH_ALLOW_SSO=
- OAUTH_BLOCK_AUTO_CREATED_USERS=true
- OAUTH_AUTO_LINK_LDAP_USER=false
- OAUTH_AUTO_LINK_SAML_USER=false
- OAUTH_EXTERNAL_PROVIDERS=
- OAUTH_CAS3_LABEL=cas3
- OAUTH_CAS3_SERVER=
- OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
- OAUTH_CAS3_LOGIN_URL=/cas/login
- OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
- OAUTH_CAS3_LOGOUT_URL=/cas/logout
- OAUTH_GOOGLE_API_KEY=
- OAUTH_GOOGLE_APP_SECRET=
- OAUTH_GOOGLE_RESTRICT_DOMAIN=
- OAUTH_FACEBOOK_API_KEY=
- OAUTH_FACEBOOK_APP_SECRET=
- OAUTH_TWITTER_API_KEY=
- OAUTH_TWITTER_APP_SECRET=
- OAUTH_GITHUB_API_KEY=
- OAUTH_GITHUB_APP_SECRET=
- OAUTH_GITHUB_URL=
- OAUTH_GITHUB_VERIFY_SSL=
- OAUTH_GITLAB_API_KEY=
- OAUTH_GITLAB_APP_SECRET=
- OAUTH_BITBUCKET_API_KEY=
- OAUTH_BITBUCKET_APP_SECRET=
- OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
- OAUTH_SAML_IDP_CERT_FINGERPRINT=
- OAUTH_SAML_IDP_SSO_TARGET_URL=
- OAUTH_SAML_ISSUER=
- OAUTH_SAML_LABEL="Our SAML Provider"
- OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
- OAUTH_SAML_GROUPS_ATTRIBUTE=
- OAUTH_SAML_EXTERNAL_GROUPS=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_USERNAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=
- OAUTH_CROWD_SERVER_URL=
- OAUTH_CROWD_APP_NAME=
- OAUTH_CROWD_APP_PASSWORD=
- OAUTH_AUTH0_CLIENT_ID=
- OAUTH_AUTH0_CLIENT_SECRET=
- OAUTH_AUTH0_DOMAIN=
- OAUTH_AUTH0_SCOPE=
- OAUTH_AZURE_API_KEY=
- OAUTH_AZURE_API_SECRET=
- OAUTH_AZURE_TENANT_ID=
volumes:
redis-data:
postgresql-data:
gitlab-data:
起動
firewallを設定されていれば、10080を開放しておきます。
sudo firewall-cmd --add-port=10080/tcp --zone=public --permanent
sudo firewall-cmd --reload
下記のコマンドでコンテナの作成と起動します。
docker-compose up -d
作成されたホスト側のVolumeです。

gitlab初期設定
ブラウザから http://プライベートIP:10080/にアクセスすると下記の画面が表示されます。
rootのパスワードの設定が求められるので入力します。

さきほど設定したパスワードで
ユーザー : root
でログインします。

下記の画面が表示されれば、構築は完了です。

gitlab日本語化
まずは日本語化します。
画面右上のアイコンを選択して「Settings」をクリックします。

左にある「Preferences」をクリックします。

画面下の方にスクロールすると 「Localization」があるので、ここで日本語を選択します。

日本語を選択したら、「save changes」ボタンをクリック

簡単に日本語化されます。

リポジトリ作成
リポジトリを作成してみます。「Create a project」をクリックします。

任意のプロジェクト名を入力して、ここではプライベートにして「プロジェクトを作成」をクリックします。

プロジェクトが作成されます。

プロジェクトが作成されたので、今回利用したymlファイルをpushしてみます。
設定してなければ ユーザー名とEmailアドレスを設定します。
※gitを利用する場合は、必要となります。
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
下記のコマンドを実行して、pushを行います。
## ymlファイルがあるディレクトリに移動します
cd gitlab
## pushします。
git init
git remote add origin http://localhost:10080/root/testproject.git
git add .
git commit -m "Initial commit"
git push -u origin master

-
前の記事
CentOs7 最新版のdockerをインストールする 2020.04.18
-
次の記事
Debian10上でタイムゾーンの設定と変更手順 2020.04.18
コメントを書く