RaspberryPi3にGitBucket4.10.0をインストールして自前Gitサーバーを立てる

前回、RapberryPiのDockerでGitbucketを動かすという記事を書きましたが、やっぱりDocker上だと重かったです…
Dockerでnginxやphp-fpmで軽量のアプリケーションを動かす程度であれば全然大丈夫だと思うのですが、Javaを動かすのは流石にRasperryPi3といえど厳しかったです。

そこで、Dockerはやめて直接GitBucketをRaspberryPi3へインストールして利用することにしました。

概要

  • RaspberryPi3へGitBucket4.10.0(2017/3/19時点の最新)をインストールする
  • 保存先データは外付けHDD

外付けHDDのフォーマットとマウント

フォーマットの細かい手順は省略するとして、RaspberryPi3でXFSフォーマットするには、下記パッケージが必要なのでインストールします。

$ sudo apt-get install xfsprogs

これでXFSでフォーマットができるようになります。
あとは、いつも通りに、

$ sudo fdisk -l <-- ブロックデバイス名を確認する
$ sudo fdisk /dev/sda

もともと使っていたHDDであれば「d」オプションでパーティション消して、「n」で作成します。最後に「w」で書き込み。
パーティションが作成できたら、mkfsでXFSフォーマットします。

$ sudo mkfs.xfs /dev/sda

XFSフォーマットが完了したら、外付けHDDをマウントする先を準備します。

$ mkdir /mnt/usbhdd/

fstabにマウント先を書いて、再起動後もマウントされるようにします。

$ sudo vim /etc/fstab
~~ snip ~~

/dev/sda1 /mnt/usbhdd xfs rw 0 0

保存したらマウントします。

$ sudo mount -a
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
~~ snip ~~

/dev/sda1        233G  101M  233G    1% /mnt/usbhdd

ここまできたら外付けHDDの準備はOKです。

GitBucketをインストールする

GitBucketはJavaで動いており、Javaのインストールが必要です。

$ sudo apt-get install oracle-java8-jdk

インストールが終わったら、Gitbucketを保存する先を作成します。※上記で作成した外付けHDDの先。

$ mkdir /mnt/usbhdd/gitbucket

次に、GitBucketのGithubページで最新のgitbucket.warをダウンロードします。

$ cd /mnt/usbhdd/gitbucket
$ sudo wget -O gitbucket.war https://github.com/gitbucket/gitbucket/releases/download/4.10/gitbucket.war

対象のgitbucket.warを使って、データが外付けHDDへ保存されるようにオプションを指定して起動します。

$ sudo java -jar /opt/gitbucket/gitbucket.war --gitbucket.home=/mnt/usbhdd/gitbucket/&

そうすると、バラバラとログが流れるかと思います。
ブラウザで、http://RaspberryPiのIPアドレス:8080/ へアクセスして、「root/root」でログインできればOKです。
あとはrootのパスワードを変更したり、使用するユーザーを追加したり、リポジトリを追加したりすると良さそうです。

試してみる

MacにVagrant環境がなかったので、セットアップついでにgit-flowの流れで使い勝手を試してみました。

普通に使えますね!素晴らしい!!
外付けHDDへデータ保存するようにしたので、応答がタイムアウトするようだと厳しいなぁと思ったのですがストレスなく使えてます。
インストールだけならめちゃ簡単だし、外付けHDDとかあれば保存容量を気にせずに使えます。
自宅のなにがしをGit管理したいけど、外で管理したくないな〜って人にはオススメです。

今まで投げてきたけど、ついに自宅サーバーを構成管理しちゃうかなぁ〜。

おしまい。

参考にさせていただいたサイト

Raspberry Pi 2にGitBucketをインストールする