[Docker] GitBucketを独自ドメインでさくっと立ち上げる

簡単に自分専用GitHubを作れる、GitBucketをDockerを使って独自ドメインでさくっと立ち上げます。

GitBucketとは?

GitBucketは、GitHubクローンと呼ばれる、自分専用のレポジトリサービスを立ち上げることができるOSSです。日本人の方が開発されているそうです。

同じGitHubクローンでは、GitLabが人気ですが、GitBucketのほうが軽量で限られたサーバースペース(ラズパイ3レベル)でもサクサク動いてくれるのが特徴です。

公式イメージ&ページ

GitBucketの作者の方がDockerイメージをアップしてくれています。

イメージは「takezoe/gitbucket」でPULLすることができます。

使い方などの公式ページはGitHub上に公開されています。
gitbucket-docker | GitHub

docker-composeファイルを用意

公式ページではDocker Runでの使い方が説明されていますが、一元管理&サーバー移転を考えてdocker-composeで構築します。

docker-compose.yml

nginx-proxy+let’s encryptコンテナが立ち上がっている前提です。

データを永続化させるために、docker-compose.ymlと同じディレクトリのdataフォルダを、dataコンテナに読み込ませています。こうすることで、バックアップファイルのダウンロードやGitBucketプラグインの追加などが簡単になります。

environment部分は、let’s encryptコンテナに渡すSSL用の設定です。

gitbucket:
  image: takezoe/gitbucket
  container_name : gitbucket-apps
  hostname: git.example.jp
  environment:
    VIRTUAL_HOST: git.example.jp
    VIRTUAL_PORT: 8080
    LETSENCRYPT_HOST: git.example.jp
    LETSENCRYPT_EMAIL: admin@git.example.jp
    LETSENCRYPT_TEST: "false"
  volumes_from:
    - data
  ports:
    - "8080"
  restart: always
data:
  image: busybox
  container_name: gitbucket-data
  volumes:
    - ./data:/gitbucket

GitBucketを立ち上げる

docker-compose.ymlがあるディレクトリでdocker-compose upするだけです。

docker-compose up -d

立ち上げたばかりは、環境によっては起動に少し時間がかかります。

docker-compose.ymlで指定したドメイン(ここではgit.example.jp)にアクセスすると、立ち上がっていることが確認できます。

初期アカウントは、ユーザー名:root、パスワード:rootです。


さくっと独自ドメインでGitBucketを立ち上げました。

同じGitHubクローンでも、4GBメモリとマルチコアを推奨するGitLabよりもかなり軽量で、低スペックなサーバー(Google Compute Engine f1-micro)でもサクサク動いてくれました。

個人用途なら、クラウドでアップしておいて、使うときだけサーバーを立ち上げて、使い終わったら落とすなんてやり方も、低予算で使えるのでいいですね。

機能的にも、自分の用途では十分っぽいので、GitLabから移行させたいと思います。