Skip to content

Pow! Dead-easy rails development servers

The Problem: you’ve got multiple rails projects in development; possibly one or more use subdomains, and you can’t be bothered messing with vhosts and /etc/hosts and <insert extra hassle steps here> just to look at your app in the browser.

The Solution: Pow, a zero-configuration Rack server for OSX, by Sam Stephenson over at 37 Signals.  (Oh, yeah, this is an OSX solution, so other platforms go pout.)

I’ve been working with it for a few days now, and quite like it so far.

It runs on node.js, so if you don’t have that installed, go get a nice tall bottle of whiskey and commence to installin’. I’ll wait.

Back? Ok. Let’s get Pow installed and running in 90 secs or so:

Oh, wait. Back up. Installing and using Pow involves unix commands and symbolic links and sure there’s only a couple of things to type but that’s soooo hard….luckily, there’s a gem for that. sudo gem install powder

And then, to install Pow: powder install

No sudo, but it’ll ask you for your password.

Then, go to the root of your rails (or any rack) app:

powder up

That’ll start the pow server. You only have to do that once, no matter how many apps you’re serving.

powder link

to link up your app to a pow server. By default, it takes the name of the dir you’re in, so if your app is in ~/code/myapp, it’ll use If you’d like to use a different url, just do:

powder link myfancyappname

Now, you can go to in your browser (or, and you’re all set.

Here’s the extra handy bit: if you use subdomains in your app, just do:

powder link subdomain.myapp

Now is available.

That’s it.

powder down will turn off the server should you want to,

powder restart

will restart your app, and

powder remove

will remove the pow server link.

Oh, to get the app’s logs, just run powder applog from the app root; it’s like tail -f development.log


One Comment