Running a homebrew web app moderately reliably

I've written an application in node.js, and I want to deploy it to my linode (or somewhere, maybe nodejitsu?). It's a pretty simple app, just a couchdb server and some view rendering and caching logic.

Properties I'd like from the app environment:

  • one-button restart or redeploy.
  • if my app crashes, the environment should try restarting it (and emailing me) a few times before giving up.
  • secure(-ish). maybe a chroot jail?
  • replicable. I'd like to be able to run the same (or a similar) environment on my local machine, or on a new server, easily.

What do?

See this answer here Node.js Production Deployment

I have had good luck running on SmartOS by Joyent. Run your fleet hub and drones with service manifests. Then you can use fleet on your local machine to deploy new code and spawn processes that will automatically restart on crashes