18
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GitLab on docker でLDAP認証を利用する

Last updated at Posted at 2014-12-22

はじめに

仕事でもGitHubなどでリポジトリ管理を行いたいのですが、セキュリティの観点上なかなかそういうわけにもいきません。そこでGitLabを使おうと思い調べてみると、sameersbn/docker-gitlabといった便利なものを作られている方がいました。

下記の記事では、これをもう少し使いやすくする方法が書かれています。
Dockerで5分くらいでGitLabを試す

今回はDockerで5分くらいでGitLabを試すを元に、LDAP認証を行うGitLabコンテナを作ってみようと思います。
※LDAPサーバーは既にあるものとします。

環境

  • OS: ubuntu14.04
  • docker version: 1.4.1

前準備

$ git clone https://github.com/doragon/Dockerfile.git
$ mv Dockerfile/ubuntu/14.04/gitlab/ ./
$ rm -rf ./Dockerfile
$ cd gitlab/
$ mkdir git
$ mkdir log
$ mkdir mysql
$ chmod 777 git/
$ chmod 777 log/
$ chmod 777 mysql/

コンテナ起動

Redis Container

$ sudo docker run --name gitlab-redis -d sameersbn/redis:latest

MySQL Container

$ sudo docker run --name gitlab-mysql -d \
 -e 'DB_NAME=gitlabhq_production' \
 -e 'DB_USER=gitlab' \
 -e 'DB_PASS=password' \
 -v [PATH]/gitlab/mysql:/var/lib/mysql \
 sameersbn/mysql:latest

※[PATH]は適宜修正して下さい。

GitLab Container

LDAP認証を行わない場合

$ sudo docker run -d -p 10022:22 -p 10080:80 \
 -e "GITLAB_HOST=localhost" \
 -v [PATH]/gitlab/git:/home/git/data \
 -v [PATH]/gitlab/log:/var/log/gitlab \
 --link gitlab-mysql:mysql \
 --link gitlab-redis:redisio \
 sameersbn/gitlab:latest

内部の起動に数分かかるので、それを待ってからブラウザにて下記にアクセスする。

http://(dockerホストのIPアドレス):10080

デフォルトのユーザー名、パスワードはこちら。(ログイン後、すぐに変更指示が出ます)

  • username: root
  • password: 5iveL!fe

LDAP認証を行う場合

LDAPの設定を行う。修正及び、空欄箇所を埋めるようにする。

code/conf/env
GITLAB_HOST=
LDAP_ENABLED=true
LDAP_HOST=
LDAP_PORT=389
LDAP_UID=uid
LDAP_METHOD=plain
LDAP_BIND_DN=
LDAP_PASS=
LDAP_ACTIVE_DIRECTORY=false
LDAP_ALLOW_USERNAME_OR_EMAIL_LOGIN=false
LDAP_BASE=
$ cd code
$ sudo docker build -t koide/gitlab:latest .
$ cd ../
$ sudo docker run -d -p 10022:22 -p 10080:80 \
 --env-file ./code/conf/env \
 -v [PATH]/gitlab/git:/home/git/data \
 -v [PATH]/gitlab/log:/var/log/gitlab \
 --link gitlab-mysql:mysql \
 --link gitlab-redis:redisio \
 koide/gitlab:latest

おわりに

LDAPを使用する、しないに関わらず、GitLabコンテナを簡単に作ることができます。
もう少し、詳細な説明をご希望の方は下記を参照して下さい。

18
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?