April 2011 Archives

Deploying a Perl App to DotCloud

Deploying a Perl Plack / PSGI application to DotCloud hosting is very easy.

Following the announcement that DotCloud are now supporting Perl I managed to get a test account and had a play.

I already had python installed on my Mac so the steps were...

  • sudo easy_install dotcloud
  • dotcloud create leotest
  • dotcloud deploy --type perl leotest.www
  • git://github.com/ranguard/plack-example.git
  • cd plack-example/multiple_roots/
  • dotcloud push leotest.www ./
  • open http://www.leotest.dotcloud.com/

My multiple_roots test is a slightly contrived configuration, using Plack::App::TemplateToolkit with multiple roots for static and dynamic content, this is configured in the app.psgi. I had put it together when I was developing Plack::App::TemplateToolkit so thought it was a good example to test.

The only issue I had was that the default configuration of DotCloud serves anything in ^static directly through nginx so I had to rename my directories to get it to work. Previously I didn't have a Makefile.PL as this had just been for testing, I created one, so the dependencies could be installed.

You can see the final (although visually dull!) result at http://www.leotest.dotcloud.com/.

I can see myself using this service a lot in the near future.

About Ranguard

user-pic London Perl developer