Hacker News new | ask | show | jobs
Chef Kitchen for setting up servers with a standard Rails stack (github.com)
12 points by bcroesch 4443 days ago
2 comments

I hate this about deploying Rails applications. It's always a teeny tiny little thing, but it almost always ends up with a trip through random stackoverflow answers, comments, blog posts and the occasional doc filed under 'known issues'.

I have _only_ 1 production application hosted on a hand-built DigitalOcean stack - hell it was a such a process I wrote a guide on how to do it, mainly for my own benefit in the future.

http://tech.pro/tutorial/1335/devops-for-dummies-vps-configu...

Surprise surprise, I try to follow _my own guide_ on a new project I started and it doesn't work as expected. Either RVM changed since writing it, Ubuntu issue with locales preventing postgres from starting, or the odd issue with postgres not installing with a default user. It's a cluster.

Alright, enough fiddling about. I bought myself a book to learn from a professional [0]. Surprise surprise! Outdated not 1 month after it's been released. No longer working, again hunting down the comments area. :P

There's a reason why Heroku is so popular: it makes deployments mind-numbingly simple. (Plus you can scale, but let's worry about that after the app actually runs!)

I'm going to give this a shot using a brand new Ubuntu 13.10 x64 DigitalOcean VPS with a simple CRUD rails application I have. But I'd bet my left arm that something is going to go wrong and yet again I'll have to dive deep into the recesses of the web.

[0] - https://leanpub.com/deploying_rails_applications

100% agree with you. FWIW, this is much more heavily tested on ubuntu 12.04. One of the reasons we submitted it was the hope that we'd get more people to test & contribute. Goal being that you don't necessarily have to pay for heroku & can still own your servers, but can set up a new server in just a few mins.

If you run into hiccups, feel free to hit me up directly - ben@federisgroup.com. The plus side of this is that once you do get it figured out once, setting up other servers really is extremely quick.

Thanks for the offer, I appreciate it.
If this doesn't use RVM how do you handle multiple applications on 1 server that may or may not have different Ruby versions?
I used to pursue this same goal. Then I decided to reclaim my sanity and stopped swimming upstream. I dropped RVM in production environments and started using ruby-build to drop a Ruby in /usr/local.

When you do this you drop a ton of configuration overhead involved with custom paths to your Ruby interpreter. That doesn't sound like much, but when you're fighting with environments in login vs non-login shells, cron jobs, remotely executed Capistrano tasks, etc, it's an overhead that I'm happy to have behind me.

If one of our Ruby apps require a different Ruby version, it goes on a different VM. Sounds like overkill, but you can get a VM down to $5/month from DigitalOcean. How much time is $5/month worth?

We typically only put one app on a server, especially since Digital Ocean is so cheap. If things are tiny apps, we just stick them on a $5/mo 512mb droplet.