I started playing with Sinatra and deploying on Heroku, which I find really enjoyable. I don't need the scalability Heroku provides, but I really like their CLI and the ability to deploy an app with a simple push. Is there an open source project that releases a VM image that I could slap say, on an EC2 instance and that would provide the same services (web server, postgres, git push-to-deploy, maintenance mode...) 'in the small'?
5 Answers
Dokku was released recently (https://github.com/progrium/dokku/):
Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. Assumes Ubuntu 13 right now. Ideally have a domain ready to point to your host. It's designed for and is probably best to use a fresh VM. The bootstrapper will install everything it needs.
- Docker - Container runtime and manager
- Buildstep - Buildpack builder
- gitreceive - Git push interface
- sshcommand - Fixed commands over SSH
Update Feb 2014: also have a look at Flynn especially if you need multitenancy or a multi-host setup.
The author of Dokku is actively involved in the development of Flynn.

- 1,223
- 13
- 24
-
Being Docker-powered, it's linux-only. :( – WhyNotHugo Jul 23 '14 at 17:00
-
1> Being Docker-powered, it's linux-only. :( The OP asked for a solution that can be "slapped on a VM" so this is not an issue. Check out [boot2docker](http://boot2docker.io/) and possible https://github.com/neam/vagrant-docker-local-dev-vm for using docker locally. – Motin Oct 30 '14 at 14:36
-
Check out https://github.com/neam/dokku-host-provisioning for provisioning a cloud instance with Dokku) for "slapping" Dokku onto any server accessible with ssh :) – Motin Oct 30 '14 at 14:39
-
Docker also works on freebsd, so in theory you can make it work there as well :) – Jose Diaz-Gonzalez Mar 13 '16 at 03:00
Check out CloudFoundry. They're releasing their platform as open source.

- 10,627
- 2
- 46
- 50
-
1Just found out about [Nodester](http://nodester.com/) which is also FOSS but limited to node.js – Rom1 Apr 25 '11 at 11:01
-
Is there any other alternative? Nodester uses chroot, which sucks for production. – vinnylinux Aug 31 '12 at 21:01
-
@vinnylinux: Why? Chroots are amongst the most popular security measures for production servers. OpenBSD even uses them extensively for daemons in the base system. – WhyNotHugo Jul 26 '14 at 11:34
Another option seems to be OpenRuku, an "in-development MIT licensed open-source Heroku clone/implementation."
They have a vagrant template you can use to create a fully running OpenRuku VM.

- 897
- 8
- 9
Heroku is OSS: https://github.com/heroku
Could you use that to deploy your own heroku client?
edit
Just realized you asked for a VM, which isn't quite what i answered...

- 10,632
- 1
- 37
- 47
-
Thanks for the link, but from what I can see they only open-source client-side code, plus a few deployment-related packages? Turning this into a debian package or VM image would require quite a lot of elbow grease, I suppose... – Rom1 Mar 31 '11 at 21:22
-
1Ive uploaded some packages that can be used to complete the server-side part of heroku stack, under MIT - openruko, still a WIP and missing the front-end routing, but might be interest to those wanting to build/experiment with their own mini-heroku https://github.com/nonuby – Mâtt Frëëman Oct 01 '12 at 13:29
-
@Jim those are only pieces - they haven't open-sourced their entire stack. – Aidan Feldman Jul 17 '13 at 19:42