docker-composeでGitBucket


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使ったりデータのバックアップ先を指定してた書き方の例としては下記のような感じでしょうか。
どちらにしろ事前準備も殆ど必要なく構築できているのがわかりますね。

docker-compose.yml
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を利用できない(公開できない)場合なんかの
ローカルリポジトリとしては必要十分な機能を備えているのでお勧めです。