Sourcegraphサーバーのインストール

Gitで管理しているソースを検索したい、そんな時に便利なSourcegraph
Github向けなどのブラウザ拡張もあるようですが、サーバがオープンソース化され、自前でホストすることができるようになりました。

Sourcegraphサーバーを立て、特定のGitレポジトリを参照できるよう設定すると、コードの検索や定義・呼び出し先の表示など解析ができるようになります。

公式のチュートリアルにあるように、Dockerコンテナとして構築するのが簡単です。
今回はUbuntu Server 18.04で構築してみました。

Dockerのインストール

前提となるDockerをインストールします。Ubuntuではこんな感じ。プロキシ経由の場合はこちらを参考に設定します。

Sourcegraphサーバの起動

あとはDockerイメージをpullするだけ。

しかし、普通に構築するとループバック(127.0.0.1)にリダイレクトするので、そのままでは他のマシンから使えません。
そのため、先に設定ファイル(JSON)を用意して外部アドレスに解決させるようにします。

設定ファイルを用意します。URLの部分はIPアドレスやホスト名で読み替えて下さい。
ファイル名は何でもいいのですが、sgconfig.jsonとしました。

なお、この"appURL"なるパラメータは最近のリリースでは"externalURL"に名前が変更されるようです(とドキュメントには書いてある)。

上記の設定ファイルを、ホームディレクトリ以下のパスにrootとして配置します。ファイル名はsourcegraph-config.jsonとしておき、後ほどコンテナにマウントします。

コンテナを起動します。

なお、上記の記述では7080番ポートで公開されます。マニュアルの例とは異なり、コンテナを停止しても削除されませんので注意して下さい。

ブラウザで設定した外部URLにアクセスすると、サイト管理者のアカウント設定など初期設定が可能になります。
GithubやGitlabなどの有名どころとの連携はもちろん、GiteaやGitbucketなどで構築したURLで到達可能なGitレポジトリも登録できるようになっています。

おわり。