sameersbn/gitlab:8.0.4

オンプレミスな GitHub Clone GitLab
かなり気持ち悪いロゴ…(なぜこうなった)

バージョンUPでこうなったらしい…

それはいいとして、 Docker image を利用して、公式に公開されている、docker/gitlab
を docker-machine で作成した docker-host(virtual-box) 上で 動かしてみた。

インストール

ssh で docker-machine ホストOSへ接続した状態でおこなう

docker-machine ssh dev
docker pull sameersbn/gitlab:8.0.4
cd ~/works/
git clone https://github.com/sameersbn/docker-gitlab.git
cd docker-gitlab
# Dockerfile からビルドする場合
#   docker build --tag=$USER/gitlab .

docker-compose インストール

docker コンテナを複数使用するアプリケーションの構成(起動順序や必要リソースなど)をまとめて管理できるのが、 docker-compose
clone されたディレクトリに、 docker-compose.yml が存在するので、 docker-compose で起動できる。

# docker-compose ダウンロード
cd ~/Downloads
wget https://github.com/docker/compose/releases/download/1.4.2/docker-compose-Linux-x86_64
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
sudo chmod 755 /usr/local/bin/docker-compose
# version 確認
docker-compose --version
# 以下が表示される
#   docker-compose version: 1.4.2

GitLab 設定

以下コマンドで SEACRET_KEY を生成する

pwgen -Bsv1 64

表示される KEY をコピーし、以下の long-and-random-alpha-numeric-string の部分に設定する

以下ファイルを編集する。

cd ~/works/docker-gitlab
vim docker-compose.yml

変更箇所は以下。[] 内は適宜読み替えて下さい。

diff --git a/docker-compose.yml b/docker-compose.yml
index c507a0a..ffc02f4 100644
+++ b/docker-compose.yml
@@ -15,11 +15,10 @@ gitlab:
     - "10080:80"
     - "10022:22"
   environment:
-    - TZ=Asia/Kolkata
-    - GITLAB_TIMEZONE=Kolkata
-
-    - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
+    - TZ=Asia/Tokyo
+    - GITLAB_TIMEZONE=Tokyo

+    - GITLAB_SECRETS_DB_KEY_BASE=[long-and-random-alpha-numeric-string]
     - GITLAB_HOST=localhost
     - GITLAB_PORT=10080
     - GITLAB_SSH_PORT=10022
@@ -27,27 +26,27 @@ gitlab:
     - 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_EMAIL=[username@gmail.com]
+    - GITLAB_EMAIL_REPLY_TO=[username@gmail.com]
+    - GITLAB_INCOMING_EMAIL_ADDRESS=[username@gmail.com]

     - GITLAB_BACKUPS=daily
     - GITLAB_BACKUP_TIME=01:00

     - SMTP_ENABLED=false
-    - SMTP_DOMAIN=www.example.com
+    - SMTP_DOMAIN=smtp.gmail.com
     - SMTP_HOST=smtp.gmail.com
     - SMTP_PORT=587
-    - SMTP_USER=mailer@example.com
-    - SMTP_PASS=password
+    - SMTP_USER=[username@gmail.com]
+    - SMTP_PASS=[userpasswd]
     - 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_USER=[username@gmail.com]
+    - IMAP_PASS=[userpasswd]
     - IMAP_SSL=true
     - IMAP_STARTTLS=false
   volumes:

GitLab起動

# up するだけ...
docker-compose up
# データの永続化設定もできている為、コンテナの停止、削除しても、再度 up すればデータが保持されている。
# コンテナ一括停止
#   docker-compose stop
# コンテナ一括削除
#   docker-compose rm

gitlab へアクセス

virtual machine 上の IP アドレスを調べ、以下URLでアクセスすると、 GitLab が表示される http://192.168.99.100:10080/

初期アクセス時は、以下で管理者ユーザとしてログインできる。

  • username: root
  • password: 5iveL!fe

Tips

Docker起動(手動版)

公式では、postgresql, redis, gitlab の Docker コンテナを起動するとなっている。
docker-compose でなくても、手動で起動できる。

docker run --name gitlab-postgresql -d \
    --env 'DB_NAME=gitlabhq_production' \
    --env 'DB_USER=gitlab' --env 'DB_PASS=password' \
    --volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
    sameersbn/postgresql:9.4-3

docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    sameersbn/redis:latest

docker run --name gitlab -d \
    --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
    --publish 10022:22 --publish 10080:80 \
    --env 'GITLAB_PORT=10080' --env 'GITLAB_SSH_PORT=10022' \
    --env 'GITLAB_SECRETS_DB_KEY_BASE=[long-and-random-alpha-numeric-string]' \
    --volume /srv/docker/gitlab/gitlab:/home/git/data \
    sameersbn/gitlab:8.0.4

参考