Ask HN: (Self hosted) App Hosting platform for developers?
17 comments
You can write a bash script to edit the server configuration files to add a new virtualhost, copy the required files depending on the platform, and restart the server. It really shouldn't be too hard.
Yeah, kind of like your own private Heroku. I want this too.
+1
As others have said, I would check out CloudFoundry. It is open-source & extensible.
I do exactly what you describe on a VPS in the cloud. I host my own prototype projects on a CloudFoundry instance. So far I've deployed these types of projects: Rails, Grails (JVM + Servlet), node.js, and Clojure(script). I also run production apps on CloudFoundry.
Setting up the instance(s) is easy, as there are plugins for most web frameworks already out there. I'm doing a session at Uberconf where I walk through my usage, process, and scripts for CloudFoundry. If there's enough interest, I could be convinced to screencast it.
PS: I do not work for CloudFoundry. Just a happy user.
I do exactly what you describe on a VPS in the cloud. I host my own prototype projects on a CloudFoundry instance. So far I've deployed these types of projects: Rails, Grails (JVM + Servlet), node.js, and Clojure(script). I also run production apps on CloudFoundry.
Setting up the instance(s) is easy, as there are plugins for most web frameworks already out there. I'm doing a session at Uberconf where I walk through my usage, process, and scripts for CloudFoundry. If there's enough interest, I could be convinced to screencast it.
PS: I do not work for CloudFoundry. Just a happy user.
Sort of. Ari Lerner (@auser) was working on a project like this sponsored by AT&T. It was going to be an open-source heroku for your datacenter.
The code is here: https://github.com/auser/beehive though I'm not sure how active it is.
The code is here: https://github.com/auser/beehive though I'm not sure how active it is.
You can have boilerplate features with Ubuntu juju, puppet or chef. But it isn't as easy as hosting on a PaaS.
There's Cloud Foundry https://github.com/cloudfoundry/vcap, but it may be slightly too magical for you. We've been able to modify the it and integrate new services into it fairly painlessly once we got over the initial hurdle.
Have you seen Red Hat's OpenShift?
https://openshift.redhat.com/app/
It's a Heroku competitor which became open source last month.
https://openshift.redhat.com/community/blogs/announcing-open...
There is a live CD which has all the components of Openshift already set up.
https://openshift.redhat.com/app/opensource/download
https://openshift.redhat.com/app/
It's a Heroku competitor which became open source last month.
https://openshift.redhat.com/community/blogs/announcing-open...
There is a live CD which has all the components of Openshift already set up.
https://openshift.redhat.com/app/opensource/download
Why can't you set up a virtual server with your default setting and applications and then clone it? (I'm really asking for more details, not making a suggestion in the form of a question.) You also get little benefits like having your .vimrc and ssh keys copied over.
That's pretty much what I do, and I wouldn't want to have to maintain an additional "personal heroku server" that would automate the deployments in the way you're talking about.
That's pretty much what I do, and I wouldn't want to have to maintain an additional "personal heroku server" that would automate the deployments in the way you're talking about.
This is sort of what I do, but the problem for me right now is keeping the machines up to date. Because I sometimes don't use a specific stack for awhile it becomes stagnant and I end up just rebuilding the image. Other than ssh keys nothing really transfers over well between configurations. That said what would be nice is if I had a way to setup a 'beacon' on each machine so that I could write a fab script (or something) that when I type fab deploy -django it would find y newly created django ready VM or whatever.
You might check out VMware's Cloud Foundry https://github.com/cloudfoundry and RedHat's OpenShift https://github.com/openshift
There is now a commercial version of Cloud Foundry, ActiveState Stackato. There are some features they added to Cloud Foundry plus they offer support. They have an EC2 AMI that you can just boot right up.
I've also been interested in something similar, Heroku is great but just too expensive for some of the stuff I want to play around with, when I can run all of this on a single Linode box for $20/month. I've now created Puppet scripts to automate the setup of new boxes but it still isn't as easy as PaaS.
Has anyone got any good tutorials for OpenShift and Cloud Foundry on EC2 or the like? I found this, however it is 6 months old so I'm not sure how relavent it is any more (I might give it a shot later...): http://www.cloudsoftcorp.com/blog/first-steps-with-cloud-fou...
Has anyone got any good tutorials for OpenShift and Cloud Foundry on EC2 or the like? I found this, however it is 6 months old so I'm not sure how relavent it is any more (I might give it a shot later...): http://www.cloudsoftcorp.com/blog/first-steps-with-cloud-fou...
Here's my post on deploying a PaaS layer on EC2
http://www.activestate.com/blog/2012/04/getting-started-priv...
and a link to the documenation http://docs.stackato.com/
that ought to get you started pretty quickly if you run into trouble, come to the irc #stackato on freenode
that ought to get you started pretty quickly if you run into trouble, come to the irc #stackato on freenode
AppFog is another service (still in beta) using cloudfoundry and supporting it.
More generally, and potentially more cross-host compatible, this sounds like a good opportunity for Puppet or Chef and a short config selection script.
More generally, and potentially more cross-host compatible, this sounds like a good opportunity for Puppet or Chef and a short config selection script.
Try out Stackato (http://www.activestate.com/stackato) [note: I work for ActiveState]. It's a commercial fork of Cloud Foundry that adds a lot more functionality. You can download an image for your hypervisor of choice (vSphere, fusion, vbox, ...), or provision one on EC2 or HP CS (no download necessary).
ActiveState is the Python community lead for Cloud Foundry (we added and maintain the support), but Stackato is much more than wrapping CF. It improves security (all user code is staged and run in linux containers), adds much more flexibility (hooks at staging or runtime, cron support, etc.), better manageability (web based console, user/group management), persistent file system, and more.
Also, if you like extensibility, a new experimental feature in 1.2 is Heroku buildpack support. Basically you get Heroku-in-a-box.
ActiveState is the Python community lead for Cloud Foundry (we added and maintain the support), but Stackato is much more than wrapping CF. It improves security (all user code is staged and run in linux containers), adds much more flexibility (hooks at staging or runtime, cron support, etc.), better manageability (web based console, user/group management), persistent file system, and more.
Also, if you like extensibility, a new experimental feature in 1.2 is Heroku buildpack support. Basically you get Heroku-in-a-box.
The Heroku Buildpack support makes it wickedly easy to move your apps from Heroku to your own Private Clouds
You can make your own pretty easily with a bash script.
You basically just need to clone from git, setup a VirtualHost, and restart Apache/nginx. I don't have experience setting up Scala, Ruby, etc, but I've done this for PHP and its trivial.
Start by writing a list of commands you issue to start a new project on your dev server. Then add variables, a web form, and you're done.
You basically just need to clone from git, setup a VirtualHost, and restart Apache/nginx. I don't have experience setting up Scala, Ruby, etc, but I've done this for PHP and its trivial.
Start by writing a list of commands you issue to start a new project on your dev server. Then add variables, a web form, and you're done.
You just described webfaction, it's not a vps but you can deploy any kind of apps very easily and you got ssh access
That's exactly what I was looking for and couldn't find.
Thanks for all the links guys, I'm going to give Cloudfoundary and OpenShift a shot, OS looks a bit more feature filled but some of the blogs I've read say OS is all marketing. I'll give both a shot and write a blog post which you'll see soon here on HN (hopefully).
Does something like this exist?