/diaspora_provisioner

an app that deploys new heroku instances to heroku

Primary LanguageRuby

Diaspora Provisioner.

This is an app that deploys Diaspora instances to heroku, in a single process.

It is a little derpy right now, but with a little love, this/is/could be a one click deploy of D* to the heroku cloud.

In order to run this little app, and make it complete magic, one needs the following:

an amazon s3 bucket. a heroku account.

redis

this repo

You can run this web app locally, if you just want an easy way to set up d* or you could run it as a simple service for people so they can deploy their own d* instances

** Getting Set up **

first, make a config/application.yml with the following keys

~~yml

HEROKU_API_KEY: 'your heroku api key'
AWS_ACCESS_KEY_ID: '<your aws key>'
AWS_SECRET_ACCESS_KEY: '<your aws secret>'
FOG_DIRECTORY: diasporaprovisioner # or whatever you want
FOG_PROVIDER: 'AWS'

~~

Start your server (after a bundle, and creating your db tables the normal rails way) and type foreman start to start the resque worker and the rails server. (make sure redis is started!)

** how does it work**

Basically, you just supply your HEROKU api, and some s3 creds, and then this connects to heroku, makes a new app on your account, and sets up all the deps for running d* in heroku.

Currently, there is a couple of derpy things, but I am open sourcing this in hope that people 1. run this for their friends, 2) demystifies running d* on your own. ** want to help? **

try running this on your own computer, and follow my directions. if something doesnt work, fork the project and send me a pull request.

once we get this running, it would be great to write a more generic guide to getting d* running on heorku.

If you want to know the inner workings, app/models/ directory is your friend.

**To do**

  • make this run locally and on heroku itself

  • make it more foolproof, maybe make a generator to set up the nessisary files?

  • remove a copy of d* from this repo

  • make it more configurable

  • write a more detailed tutorial

  • make d* run in single process mode by forking a worker inside the heroku process

  • allow a user to submit their own heroku api key, so the app could start up an app for you, and then be done with you.