へんてこのブログ

日々気づいたことや、最近やっていることを書いています

クローズドな環境でのナレッジ共有ツールをdockerで動かすようにした話

今日ネットサーフィンしてたら以下の記事を見つけた
クローズドな環境でのナレッジ共有ツールを自作しているという話 - @camelmasaの開発日記
自分もこういう系欲しいなー作ろうかなーと思ってたので、良さそうだと思い手を出してみた
普通にrails sするだけなのもつまらないからどうせならと、今ちょこちょこ弄ってるdockerで動かしてみた

https://github.com/henteko/connectDocker

環境

ubuntu12.04にdockerを入れる際の参考サイト

多分Macでローカルvagrant内dockerでも同じ感じでいけます

セットアップ

Dockerfileとか作ってあるのでgit cloneしてくる

$ git clone git@github.com:henteko/connectDocker.git

次に、この中のrun.shってやつを編集する
これはdocker runしたときに走るシェルスクリプト
中身はこんなの

export HOST="example.com:3000"
export GMAIL_USERNAME="example@gmail.com"
export GMAIL_PASSWORD="example password"

bundle exec rails s

このrun.shのHOSTとかGMAIL_USERNAME,GMAIL_PASSWORDを自分の環境に合わせて編集する(これはユーザー登録時にメールを飛ばすので、その設定)
なお、GMAIL_PASSWORDは以下のURLからアプリケーション固有のパスワードを生成する
https://accounts.google.com/b/0/IssuedAuthSubTokens?hl=ja

あとは、henteko/railsdockerっていうのをFROMにしてるのでpullしてから、buildを実行する

$ sudo docker pull  henteko/railsdocker
$ sudo docker build -t example/connect .

example部分は任意で
スペックによっては時間がかかる…

実行

dockerをrunさせるだけでいい

$ sudo docker run -d -p 3000:3000 example/connect

example/connectの部分はさっきbuildしたのと同じのを指定する
また、-p 3000:3000でポートの開放をしているけど、まぁ任意のポート番号で
ちなみに、-p [外から見た時のポート番号]:[docker内のポート番号(今だとrails sの3000)] です
(なので、-p 3001:3000とかに変更すると、example.com:3001でrailsが立ち上がっている様に見える)

アクセスする

普通にexample.com:3000でアクセスすればみれると思う
あとはこの記事通りadminでログイン後、ユーザー追加でメールきてって普通に使える

f:id:henteko07:20140121222128p:plain

注意点

データのバックアップとか全く考えてないので、これをそのまま社内で運用してこうとかは厳しいかな?
簡単に試せるって感じで

まとめ

docker、connect便利
connectの作者さんも、vagrantかdockerでやりたいって書いてあったからそのうち用意してくれるかもしれない
そうなったらそっちを使った方がいいと思う