poetry run coltrane play will serve the markdown files for local development.
poetry run coltrane play or Django’s
runserver management command is fine for local developement, but should never be used in production.
coltrane can be installed with deployment features for production by installing the
poetry add coltrane -E deploy
pip you can do something like:
pip install coltrane[deploy].
gunicorn is a production WSGI server. More information about it can be found at: https://gunicorn.org/.
Something like this could be used to start
poetry run gunicorn -b localhost:8000 app:wsgi.
whitenoise allows regular WSGI servers to serve static files without needing to move assets to S3 or another hosted file platform. More documentation is at: https://whitenoise.evans.io/.
Recipe for Heroku¶
Heroku will run the
collectstatic management command by default for Django projects, but this should be disabled for by setting the
DISABLE_COLLECTSTATIC environment variable to
1. Add the nginx buildpack from https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku-community/nginx.tgz.
Then, add the following files so that
nginx will serve the static files efficiently.
def when_ready(server): # touch app-initialized when ready open("/tmp/app-initialized", "w").close() bind = "unix:///tmp/nginx.socket" workers = 3
web: python app.py collectstatic --noinput && bin/start-nginx gunicorn -c gunicorn.conf.py app:wsgi