トップ «前の日記(2011/10/22 (土) ) 最新 次の日記(2011/10/24 (月) )» 編集 RSS feed

HsbtDiary


2011/10/23 (日) [長年日記]

[dotcloud][ruby] dotcloud で Rack アプリケーションを動かしてみた

たださんが Sinatra版Amazon-Auth-Proxyの運用を始めた を作ってくれたので hsbt.org で動かしている Amazon-Auth-Proxy を止めて heroku と dotcloud に引っ越してしまった。

heroku の方はたださんの所に書いてある通りで特に問題はないので、ここでは dotcloud のやり方を。

$ pip install dotcloud
$ dotcloud create aap1

heroku と同じようにこれで aap1-hsbt.dotcloud.com というアプリケーションが作成される。hsbt の部分はアカウント名固定っぽい。この後に dotcloud.yml というアプリケーションの設定を書いたファイルを作成する。amazon-auth-proxy と同じディレクトリに配置するならこんな感じ。

www:
  type: ruby
  approot: .

ここで AMAZON_ACCESS_KEY と AMAZON_SECRET_KEY をアプリケーションに渡さないとダメなんだけど、dotcloud は heroku のように ENV からは値を取得出来ないみたい。そこで dotcloud.yml に environments を書いておくと /home/dotcloud/environments.json というファイルから読み込むことができる…らしいけど、JSON.parse しても値がとれなかったので、今回はベタっとアプリケーションに書いてしまった。ここは後で調べて dotcloud でも動くようにした奴を pull request かなあ。

この後は

dotcloud push aap1 .

で heroku に push した時と同じように bundler が走った後に rackup してアプリケーションが起動する。dotcloud は今回初めてちゃんと使ったけど、とてもよくできてるね。

ちなみに fluxflex や CloudFoundry でも動くと思うけど、この辺は後で。