Running Sidekick on Heroku is nice and easy compared to hosting on a server of your own. We provide manual instructions as well as a one-click button to get you set up.
The button below sets up a full Heroku application, including the required add-ons and configuration. You'll need a Heroku account to get started, and Sidekick will run fine on the free tier which has a few limitations.
For most Heroku users, all you need to do is click the button and fill out a few fields. Then complete the setup step in the new Sidekick application.
To deploy Sidekick to Heroku manually you'll need a Heroku account. Then follow the instructions below:
-
Visit https://dashboard.heroku.com/ and click the button to create a new app
-
Fill out and submit the form with your application name
-
Now we need to create a database. Click on the "Resources" tab and search under "Add-ons" for "Heroku Postgres". When it appears, click the name of the add-on
-
In the pop-up, provision a "Hobby Dev" plan. As your Sidekick database gets bigger you may need to increase this plan, but for now the free one is fine
-
Now we need to add some configurations. Click on the "Settings" tab and then under "Config Variables", click "Reveal Config Vars"
-
Configure your app using the configurations outlined here. If you want to get set up quickly then you should just need to set the following:
SESSION_SECRET
: The secret to encrypt session IDs with. Ideally you should set this to a generated key, you can use something like UUID Generator for this
-
Now we're ready to deploy for the first time. Click on the "Deploy" tab and choose a deployment method. We recommend either Heroku Git, or connecting to a forked copy of Sidekick on GitHub. Either way, the instructions in the Heroku interface should be helpful here
-
Now you should be able to access your new application in-browser, click the "Open app" button that appears at the top of your dashboard in Heroku. A Sidekick page should load
-
Complete the set-up step in the Sidekick interface, now you're ready to start using Sidekick!
Here we outline some common questions and issues around deploying to Heroku.
This is likely due to a missing deployment, your code may not be on your Heroku app yet. Check the Heroku deployment guide for help.
We migrate the database during the Heroku release phase. This means that your database is up-to-date as soon as the new deployment completes.
No. Heroku's preboot feature allows for zero downtime deployments and ensures that traffic can be received by a new deployment before switching out the production dynos. This doesn't play nicely with Sidekick due to the fact we use Heroku release phases to migrate the database, and this happens before the dynos switch over.