Since Heroku apps run in a read-only filesystem, the normal Mephisto installation method won’t work. Here’s how to work around that.
Begin by cloning Mephisto in the usual way:
And prepare the database configuration:
Normally the next step would be to run
rake db:bootstrap which modifies and creates a few files.
Since we can’t do this on Heroku, we’ll create them locally and add them to the repository.
The behaviour in the development environment differs from production, so we need to run in production mode locally.
If you have mysql running setup, create a new database named
Alternatively, just define a sqlite connection:
You can now bootstrap the app:
This will modify session_store.rb and create a few other files/folders, but git status won’t show them since they are excluded by .gitignore. Use the -f flag to force add them:
You’re now ready to deploy onto Heroku:
I’m not sure why, but at this point you need to restart your app or you’ll get an error message:
You can then view the site in your browser and you should see Mephisto running.
The above instructions will deploy the edge version of Mephisto rather than the v0.8-stable branch which the official site recommends, but I haven’t yet worked out how to deploy a particular branch to Heroku.
Some features will not work on Heroku, such as installing/editing themes or uploading assets. You will need to do this locally and then add the appropriate files to the git repository.