AWS::EC2 Ubuntu で dokku を動かす方法

dokku とは

Heroku の簡易版. golang で書かれている.

AWSインスタンスを作る際の諸注意

!!!Ubuntu は 13.04 を使うこと!!! (たとえばコレとか)

Chef

ubuntuubuntu ユーザーでやるべし (癖で root ユーザーでやったらコケた) 結局 Chef は使わなかった

dokku のインストール

安定版をインストールする. まずサーバーに入る.

ssh -i ~/.ssh/hogehoge.pem ubuntu@$54.193.28.49

dokku をインストールする

wget -qO- https://raw.github.com/progrium/dokku/v0.2.1/bootstrap.sh | sudo DOKKU_TAG=v0.2.1 bash

VHOST に URL を書く

echo "ec2-54-199-233-72.ap-northeast-1.compute.amazonaws.com" > /home/dokku/VHOST

ここで permission error となったので, とりあえず sudo vi /home/dokku/VHOST に直接書いた.

クライアント側での操作

認証用の鍵を投げる

cat ~/.ssh/id_rsa.github.com.sqrtxx.pub | ssh -i ~/.ssh/hogehoge.pem ubuntu@54.193.28.49 "sudo sshcommand acl-add dokku dokku"

.ssh/config に追加

Host test-dokku
     User   dokku
     Port   22
     HostName   ${IP アドレス}
     IdentityFile   ~/.ssh/id_rsa.github.com.sqrtxx
     TCPKeepAlive   yes
     IdentitiesOnly yes

テスト

ssh -T dokku@test-dokku

Rails で使う

git remote add mini-heroku dokku@test-dokku:${アプリケーション名}
git push mini-heroku master

References