Releasing the site on production

Setting Boorunaut on Heroku with PostgreSQL

circle-info

Boorunaut is only compatible with Python 3. Check which versionarrow-up-right is instaled with the command python. You may be required to use the commands python3 and pip3 instead of python and pip.

To install Boorunaut on a Heroku server, you will need to make some changes on the default settings to make it work with PostgreSQL.

First, create a project for your site:

pip install Boorunaut
boorunaut startproject mysite

Once it's done, you need to add Heroku-related files. Create a requirements.txt file on the root of the project with:

Boorunaut==0.1
psycopg2==2.7.6.1
gunicorn==19.9.0
circle-info

You will probably want to create a virtual environment here and install the requirements.txt with pip to test your project. DigitalOcean has a tutorial for testing on Ubuntu (linkarrow-up-right).

Create a Procfile for Heroku:

web: gunicorn <mysite>.wsgi --log-file -

Configuring the settings.py file

You will need to make some adjustments to the default settings.py generated to use in production. These involve configurating a new database and transforming sensitive data into environment variables (an security measure).

Automatic configuration

Heroku has an library for automating the configuration of Django apps with Heroku sites, django-herokuarrow-up-right. You need to add to your requirements.txt:

Then, add to the end of your settings.py:

Manual configuration

Firstly, you will need to turn your SECRET_KEY into an enviroment variable.

Then you can change the default SQLite database with a backend better suited for production.

For PostgreSQL (better compatibility with Heroku), replace the DATABASES variable content with:

circle-info

Remember to set environment variables on Heroku with the details of your PostgreSQL database and secret key.

Add your website on ALLOWED_HOSTS:

Publishing

Once the configuration is done, you can initialize git on your project (if haven't already), commit the changes and be ready to push it to Heroku.

circle-exclamation

Last updated