実際はホスティングなんですが。

gyazoって知ってますか?masuiさんが開発された驚異的な便利ツールです。
実はこれGPLでオープンソースになっています。

自宅サーバでgyazoを運用するためのtipsです。
当方macなので、クライアントがmacでserver側はrack(rubyのアプリケーションコンテナ)を使うようにしています。

さて、自宅サーバでgyazoをするメリットとは。

  • 情報漏洩リスクが低い
  • basic認証かけたりできる
  • 社内の情報共有ツールとして使う
  • ログがとれる

などなどでしょうか。

情報漏洩リスクは、低いと言えば低いんですがgyazo.comは本質的には情報漏洩リスクがあります。
どっかの会社ではあまり気にしないで使われてるんですが、twitterがコンプライアンス違反ならこっちの方が余程リスクが高い気もします・・・・(細かい話はまた別で

だから、自分で運用するgyazoをたてましょうということです。

ちょっと運用上の問題からオリジナルのgyazoから多少の変更をしています。

手順は

  1. 私のgithubからチェックアウト
  2. クライアント側のパスワードとサーバのアドレス設定
  3. サーバ側にrackをデプロイ

こんな感じです。

githubからチェックアウト

私のgithubからチェックアウトするかフォークするかしてください。

git clone git://github.com/harajune/Gyazo.git

するとソースが落ちてきます。

クライアント側の設定

ほとんどの人はwindowsなんでしょうけど、自分はmacなのでmacの説明。
一応windowsもソースみたんですが多分簡単に出来そうな気がします。

以下の要領でクライアントの設定をしてください。

cd Gyazo.app/Contents/Resources
cp config.sample.rb config.rb
vi config.rb

viじゃなくてもいいですが。config.rbを以下のように編集します。

HOST=”your.domain.com”
CGI=”/upload”

CGIの方はアップロードの時に使うパスです。一応デフォルトがこれです。

これでクライアントの設定は終了。

サーバにrackを設置

アプリケーションコンテナは好きなのを使ってください。私はpassengerを好んで使っています。

Serverディレクトリ以下を適当なrackコンテナの場所に設置してください。basic認証とかしたく無ければこれで終了。

終わり

以上です。open Gyazo.app とかしてgyazoってみてください。
たぶんちゃんと動くはずです。

実はちょっとだけ改造してあります

本家gyazoはCGIでの運用が前提になっているので個人的には扱いにくいです・・・・
ので、harajuneバージョンではrackに対応させてあります。

まぁ大した差はないんですが、ほとんどのrubyアプリケーションコンテナがrackに対応していますし、cgiって個人的には運用が面倒なのでこちらの方がいい気がしています。

というわけで、楽しいgyazoライフを!