LoginSignup
5
9

More than 5 years have passed since last update.

DockerでGitHubに置いた全てのソースコードを検索できるようにする

Posted at

この記事はGroonga Advent Calendar20日目の記事です。

docker-milkode-01.png

リンク先は私がGitHubにUPしている全てのソースコードを検索できるようにしたサイトです。GitHubが苦手な行単位のANDもできます。ブログの原稿もGitHubにあげているので昔書いたことをさくっと検索できて便利です。

内部にGroongaを使ったMilkodeというソフトウェアを使って構築されています。Groonga(Rroonga)はとても性能がよいので数千、数万のくらいのファイル数なら一瞬で検索できます。

MilkodeはRubyで書かれているのですが、最近Dockerを使って簡単に構築、保守できるようなDockerfileを書きました。のでご紹介です。

docker-milkode

ongaeshi/docker-milkode: Milkode's Dockerfile

  • Dockerをあらかじめインストールしておいてください
  • READMEを上から順に実行します
  • Use Data Volume Containerはオプションですが設定しておくことをおすすめします
  • アプリケーションコンテナ(milkode)とデータコンテナ(milkode-data)を分けておくことで、アプリケーションコンテナを作り直してもデータの再構築が不要になります。以下のようなときに便利です
    • 新しいデータを追加するとき
    • milkodeをバージョンアップしたいとき
  • データコンテナにGitHubのデータを注入したいときはongaeshi/mycodeadd_all.shあたりが参考になると思います

外部に公開したい

http://mycode.ongaeshi.me はnginxを使っています。robots.txt を作ってロボットの巡回を防いでおかないとそこそこ負荷がかかるので注意。

server {
    listen 80;
    server_name mycode.ongaeshi.me;
    proxy_set_header Host $host;

    location /robots.txt {
        alias /etc/nginx/robots.txt;
    }

    location / {
        proxy_pass http://127.0.0.1:9292;
    }
}

そのうち

  • cron

自分のローカルマシンに、社内のイントラネットに、クラウドサーバーにどうぞ。

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9