

Chef Kitchen for setting up servers with a standard Rails stack  - bcroesch
https://github.com/federis/rails-fed-chef

======
sergiotapia
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...](http://tech.pro/tutorial/1335/devops-for-dummies-vps-
configuration-from-scratch-rails-nginx-postgresql)

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](https://leanpub.com/deploying_rails_applications)

~~~
bcroesch
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.

~~~
sergiotapia
Thanks for the offer, I appreciate it.

------
sergiotapia
If this doesn't use RVM how do you handle multiple applications on 1 server
that may or may not have different Ruby versions?

~~~
bradleyland
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?

