早些的时候我用heroku架设自己的博客,因为heroku最低档的服务不要钱,如果架设一个静态网页的博客完全足够了。就这样我熟悉了heroku buildpack的发布网站的思路和流程。为了搭个网站去琢磨nginx的配置什么的,我才不干呢。

后来有一天heroku说他们对服务计划进行了修改,最低档的服务不再能7x24服务,dyno会被定时休眠,于是有了挪窝的计划。

搜索之后,我发现有类似heroku的自架PAAS,比较出名的有dokkudeisFlynn。这三者之中,门槛最低只需要一台机器的,就是dokku。

dokku能干什么?

dokku就是一个小的heroku,它让你能够用git push 的方式把代码发布到你的VPS,dokku对于代码自动执行你定义的发布指令,并更新你的网站。 更爽的是,你可以把好多个网站发布到同一个VPS,dokku会自己更新nginx的配置。 你的网站代码可以用各种语言写,ruby,python,go,php,甚至是elixir。 如果你有现成网站打包成了docker镜像,dokku也能支持。

dokku需要多少系统资源跑起来?

就我的经验,Vultr最小的每月5美元的服务(768M内存)已经足够,如果你用的是512M内存的VPS,都没有问题,但是小于1G内存的VPS最好都启用swap。

除了博客,还能用dokku干什么?

任何事情。只要你想得到。

说一下我在这上面架的几个服务吧。

博客,Middleman (ruby/静态网页)

我的博客现在是用middleman,发布到dokku可以参照到发布到heroku的方法

自架的IFTTT, Huginn (ruby/rails)

这个我强烈推荐。Huginn的玩法我还在持续探索中,安装方法可以参考这里。我现在用它:

  • 每天早上发送给我当天的天气和降水概率。
  • 用aftership提醒我快递状态变更,国内的朋友可以使用kuaidi100
  • 查看我跟的几部玄幻小说是否有更新。:P
  • 查看ozbargin的打折信息,github的最新热门项目,eventcinema新上映的电影,在中午以摘要的形式发给我
  • 追踪某个产品的价格,打折的时候给我发消息,我用这个成功在intel skull canyon打折的时候买入,省了50美元。
  • 写自己的聊天机器人。我用wit.ai的服务,所以可以用很自然的语言给机器人下指令。现在我只是用它查天气和快递,但我在琢磨其他的玩法。比如说我给机器人发"reboot my vps",它就把我的VPS重启啥的。
  • 提醒我的我的CI(continous integration)的执行结果,参见下面

值得一提的是,Huginn支持的网站服务很多。我用到的很多东西,最后都是用消息提醒的方式发给我。你可以让他发到微博,微信,whatsapp,telegram,都没有问题。但是我最后选了slack,因为slack的webhook确实很方便,如果没有webhook,我就不能方便的写个wit.ai机器人。

最后来一张我的现有的agent的关系图

huginn

git服务器,gogs (go/docker)

Git用久了,总有些东西不好放去github吧,gogs就是个很好的github克隆。Gogs有现成的dockerfile,直接扔dokku就可以用了。

gogs

CI服务器,drone (ruby/docker)

有了自架的git服务,当然可以有自架的CI。我不喜欢臃肿的jenkins,所以用了drone。也是一个现成的docker镜像。drone支持github,gitlab,bitbucket,还有gogs。主流的就这么几个吧。现在我可以git push把代码推到gogs,然后drone就自己给我跑测试,并把编译好的docker镜像上传。

drone

还可以干什么?

穿墙

不管是Shadowsocks还是VPN,都可以。用不用dokku装这些都行。我知道有VPN的docker镜像。

IRC bouncer

这个不是所有人都需要,不过我还是需要的,我的VPS上有个znc一直跑着。

VPS的选择

基本上要求没什么,一般来说5美元的级别的就够了,digitalocean,linode,vultr都行。

当然,vultr性价比比较高,768M内存。vultr更有很便宜的备份服务,只需要在月费计划基础上多付20%就好了。也就是说6美元美元,就可以拿下768M内存的最低配VPS加上备份服务。想象一下,用了Huginn一年以后,像我一样你已经有40个以上的agent,你不会想重新去配置他们一遍的吧?当然你可以自己写备份脚本,但是你已经有太多服务在这个VPS上,你不会想所有的服务你都分别写备份吧?

最后,留个vultr的推荐链接吧。现在用下面的链接注册vultr,立即得20美元。日本,新加坡或者北美的节点都不错。

点此注册vultr账户