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.