image courtesy of @banjofox
Create a virtualenv (e.g.
virtualenv -p python3 venv), activate it (e.g.
. venv/bin/activate), and then
pip install -r requirements.txt. (Make sure it's a Python3 environment; some of our dependencies require it.)
Create an account with MongoDB's cloud service; it's free for a very small cluster. Set up an admin user with a separate password, create an IP whitelist and connect to the database cluster to make sure it's working. I use a blanket whitelist, and Atlas complains at me every time. (Install
mongodb to your machine, with Homebrew, for example.)
config.py wherever the information looks inadequate (e.g. anything that says .rowan.website should have your own domain).
.env file (or otherwise configure environment variables), based off of the included
.env.example. This is conveniently loaded in by python-dotenv.
For local development, you probably want to leave SSLify disabled (
config.py), to access the server over HTTP rather than HTTPS. The
STRICT_HEADERS config variable is also disabled by default, so that you don't have to worry about content headers to debug the API server.
$ . venv/bin/activate $ gunicorn run:app