Getting a Tor hidden service running doesn't have to be hard. I've just published an example Sinatra application demonstrating how to deploy a hidden service to Heroku (or Dokku, etc) in just a few lines. The app uses my ruby-hidden-service library with the multi and apt Heroku buildpacks to install and configure Tor. A deployed example is running at sinatra-hidden-service.herokuapp.com.
Here are the complete steps required to deploy the sample app:
git clone https://github.com/warrenguy/heroku-sinatra-hidden-service.git cd heroku-sinatra-hidden-service heroku apps:create sinatra-hidden-service heroku buildpacks:set https://github.com/heroku/heroku-buildpack-multi.git git push heroku
Running Tor within your app container in this way is likely somewhat insecure, in that your app has access to the private key. If that's a concern for you, you've been warned.
Previous post: Rack::DetectTor: Rack middleware for detecting Tor exits