Ubuntu+Docker環境で「GitBucket」を構築してみる

GitLabをしばらく運用していましたが、GitBucketのほうも試しておこうと環境作ったのでメモ。

GitBucket構築

とりあえずGitBucket用のディレクトリ作成。

sudo mkdir ~/gitbucket

docker-compose.yml

docker-compose.yml作成。
前回同様、ローカルネットワークでしか使わないので、sshの設定はなし。

外部DBとしてPostgreSQLを使用。
PostgreSQLが起動してからGitBucketが起動するよう、healthcheck、depends_on周りの設定を追加。

version: '3'
services:
  gitbucket:
    image: gitbucket/gitbucket:latest
    container_name: gitbucket
    networks:
      - gitbucket_network
    ports:
      - 51000:8080
    volumes:
      - ./data:/gitbucket
    environment:
      - GITBUCKET_DB_URL=jdbc:postgresql://gitbucket_db:5432/gitbucket
      - GITBUCKET_DB_USER=gitbucket
      - GITBUCKET_DB_PASSWORD=gitbucket
    restart: always
    depends_on:
      gitbucket_db:
        condition: service_healthy

  gitbucket_db:
    image: postgres:15.1-alpine
    container_name: gitbucket_db
    networks:
      - gitbucket_network
    ports:
      - 51001:5432
    environment:
      - POSTGRES_DB=gitbucket
      - POSTGRES_USER=gitbucket
      - POSTGRES_PASSWORD=gitbucket
      - TZ=Asia/Tokyo
      - LANG=ja_JP.UTF-8
    volumes:
      - ./db/data:/var/lib/postgresql/gitbucket_data
    restart: always
    healthcheck:
      test: pg_isready -d gitbucket
      interval: 1s

networks:
  gitbucket_network:
    driver: bridge

docker-compose実行

作成したdocker-compose.ymlと同じディレクトリで、docker-composeを実行します。

docker-compose up -d
picture 1

GitBucket初期設定

初期パスワード確認

GitBucketの初期ユーザ、初期パスワードはどちらも「root」らしい。

接続確認

「http://”ホスト名”:51000」でアクセスします。

http://aru-server:51000
picture 2

右上の「Sign in」を選択すると、ログイン画面が表示されます。
rootユーザでログインします。

picture 3

rootユーザのパスワードを変更する

右上のアイコンをクリックし、「Account settings」を選択します。

picture 4

左のサイドバーから、「Profile」を選択します。
Passwordに新しいパスワードを設定し、「Save」ボタンで保存します。

picture 5

ユーザを追加する

右上のアイコンをクリックし、「System administration」を選択します。

picture 6

左のサイドバーから「User management」を選択します。

picture 7

画面右上の「New User」をクリックします。

picture 8

Username、Password、Full Name、 Mail Addressを入力し、画面下のCreate userをクリックします。
Usernameはログイン時に使用するユーザ名、Full NameはGitBucket上で表示される名前となります。

picture 9

ユーザが作成されました。

picture 10

その他の設定

System settings

GitBucketのスキンや、リポジトリを作成したときのデフォルトの設定、メール通知のためのSMTP設定等が行えます。

とりあえずスキンをBlueからGreenに変更してみた。

picture 11

CSSで見た目の設定もできるみたいなので、後で調整してみる。

Plugin導入

GitBucketにはPluginで機能を追加できます。
GitBucket Community Plugins

picture 12

導入方法は、Pluginの.jarファイルをGitBucketのpluginsディレクトリに格納するだけ。

cd ~/gitbucket/data/plugins/

とりあえず以下のプラグインを入れてみました。

  • Network plugin
sudo curl -sLJO https://github.com/mrkm4ntr/gitbucket-network-plugin/releases/download/1.9.2/gitbucket-network-plugin_2.13-1.9.2.jar
  • Monitoring plugin
sudo curl -sLJO https://github.com/yoshinorin/gitbucket-monitoring-plugin/releases/download/v5.1.0/gitbucket-monitorting-plugin-5.1.0.jar
  • Explorer plugin
sudo curl -sLJO https://github.com/gitbucket-plugins/gitbucket-explorer-plugin/releases/download/9.0.0/gitbucket-explorer-plugin-9.0.0.jar
  • Gantt Chart plugin
sudo curl -sLJO https://github.com/kasancode/gitbucket-gantt-plugin/releases/download/1.2.0/gitbucket-ganttchart-plugin-1.2.0.jar
  • PlantUML plugin
sudo curl -sLJO https://github.com/nus/gitbucket-plantuml-plugin/releases/download/v1.7.0/gitbucket-plantuml-plugin-1.7.0.jar
  • CsvTsv plugin
sudo curl -sLJO https://github.com/onukura/gitbucket-csvtsv-plugin/releases/download/1.0.6/gitbucket-csvtsv-plugin-1.0.6.jar
  • Draw.io plugin
sudo curl -sLJO https://github.com/onukura/gitbucket-drawio-plugin/releases/download/0.1.0/gitbucket-drawio-plugin-0.1.0.jar
picture 13
picture 14

pluginを格納したら、再起動してpluginを読み込ませます。

sudo reboot

読み込むと、Pluginsページに導入したPlugin一覧が表示されます。

picture 15

まとめ

GitBucketの構築、ユーザ追加までまとめました。
リソースの使用状況見てると、少人数で使う分にはGitBucketのほうがよいかも。。。

しばらく様子見。

参考URL

Docker : データベースにPostgreSQLを使用した、GitBucketコンテナを展開
PostgreSQLのReplication構成をdocker-compose upで一撃で立ち上げたい
GitBucket Community Plugins
privateなGitHub Releaseページのリリース物をcurl+jqでダウンロードするワンライナー