Heroku is a Cloud Computing service that has recently teamed up with Facebook to provide free hosting for Facebook apps as described here.
The default instructions that issue in relation to hosting apps are somewhat brief, and don’t really describe how you migrate an existing application to Heroku, so I’ve provided a bit more detail here.
If you want to host an app on Heroku, I’d advise following these instructions, rather than choosing the Heroku hosting option when setting up your app on Facebook. It will give you a better understanding of how Facebook and Heroku work together.
Create an Heroku account:
https://api.heroku.com/signup
As part of this you will have to authenticate yourself, which requires entering Credit Card details. Nothing is charged to your Credit Card, but you do need to enter them.
Install the Heroku Toolbelt on your local system:
https://toolbelt.heroku.com/
This will install the Heroku client, the software revision tool Git, and Foreman which is a tool for running apps locally (you only need the Heroku client and Git, however).
Make sure you have an OpenSSH public/private key pair which you can use
You can create one on any Linux system using ssh-keygen, or you can download PuttyGen for Windows which will also create a key pair for you.
Login to Heroku:
Change to the directory in which you application is stored and login to Heroku
prompt> heroku login
Enter you email address and password.
You should now be prompted to upload the public part of your public/private key pair. You can also do this manually, by issuing the command:
heroku keys:add
You can then check that it is uploaded by typing
heroku keys
Once this is done, you are ready to create your application
Initialise a git repo for your application
Before creating your application in Heroku, you need to create a local git repo for it. To do this, run the following commands from the directory in which your application is stored:
git init
git add .
git commit -m "initial checkins"
This will initialise the repo, add the contents of your current directory for tracking and commit the files to the repo
Create the Heroku application
Next, you need to create a Heroku application. Type the following command:
heroku create
Heroku will respond with the name of your application
You can also view the name of your application by typing
git remote -v
Add a MySQL addon to your application
(You can not do this unless your Heroku account has been authenticated)
You need to provide a MySQL addon if your application uses MySQL. ClearDB provides a basic, free addon called Ignite
You can add this by typing
heroku addons:add cleardb:ignite
Once this is added, you can find out the login credentials and DB details by typing
heroku config | grep CLEARDB_DATABASE_URL
(This is a Linux commmand. In Windows, just type heroku config and look for the values you require.)
You can then add these to your application configuration
Import your database
Using a MySQL command line client, import your DB schema into the DB provided by ClearDB
mysql -h cleardb_hostname -u cleardb_username --password=cleardb_password -D cleardb_database_name < path _to_dump_of_your_MySQL_database
Push your application to Heroku:
You are now ready to push your application to Heroku. Just type
git push heroku master
This will push your code to the remote git repository in Heroku and launch it on the hosting service.
You should then be able to access it at the URL you obtain from the command:
heroku info --app your_app_name
Configure your Facebook application:
The final step is to configure your Facebook application so that is uses the URL provided in the previous step. The URL serves both HTTP and HTTPS.
Making changes to your code:
If you need to make a change to a code file, do the following after you have edited the file:
git commit -am "Reason for change"
git push heroku master
If you have to add a file/directory, do the following:
git add
git commit -am "Reason for change"
git push heroku master
If you have to delete a file/directory, do the following:
git rm
git commit -am "Reason for change"
git push heroku master
Heroku guide
https://devcenter.heroku.com/articles/git
this is really a type of publicity stunt to remove 3194.
Thanks for the useful information. I’m now set to use Heroku for my next facebook app.