docker-composeでGitBucketを起動する。
GitBucketって?
GitBucketはさたけぞうんという方が開発されているGitHubのクローンアプリです。
Scalaで書かれており、驚くほど簡単に導入することができるのが特徴です。
OSSのGitHubクローンといえばGitLabがメジャーですが構築の手順が複雑かつ面倒なため、
使い始める前に構築段階で挫折した経験のある人も多いのではないでしょうか。
ちなみにGitBucketは今も頻繁に更新されているのでたけぞうさんのブログはチェックが必要ですね。
http://takezoe.hatenablog.com/
最速で起動してみる
git-hubのREADMEにもある通り以下のコマンドラインで最速起動ができます。
試す分には下記コマンドで運用を考えたらyamlを書く感じで行きましょう
# docker run -d -p 8080:8080 gitbucket/gitbucket
# docker container ls | grep git
46627b46aa90 gitbucket/gitbucket "/gitbucket/wait-for…" 24 minutes ago Up 23 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:29418->29418/tcp gitbucket_gitbucket_1_f00c40995bff
上記状態であとはdockerホストのIP+ポート番号で試し実行は完了です。
ログインは[root:root]でログインできます。
postgresだったりDB使ったりデータのバックアップ先を指定してた書き方の例としては下記のような感じでしょうか。
どちらにしろ事前準備も殆ど必要なく構築できているのがわかりますね。
version: '2'
services:
gitbucket:
image: gitbucket/gitbucket
restart: always
ports:
- 8080:8080
- 29418:29418
volumes:
- ./data:/gitbucket
depends_on:
- db
environment:
- GITBUCKET_DB_URL=jdbc:postgresql://db/gitbucket
- GITBUCKET_DB_USER=gitbucket
- GITBUCKET_DB_PASSWORD=gitbucket
command: ["/gitbucket/wait-for-it.sh", "db:5432", "--", "java", "-jar", "/opt/gitbucket.war"]
db:
image: postgres:9.5-alpine
restart: always
environment:
- POSTGRES_DB=gitbucket
- POSTGRES_USER=gitbucket
- POSTGRES_PASSWORD=gitbucket
volumes:
- ./db:/var/lib/postgresql/data
コード管理としてgit hubを利用できない(公開できない)場合なんかの
ローカルリポジトリとしては必要十分な機能を備えているのでお勧めです。