Make sure Pipenv is installed. Clone and change directory to the repo, then run
pipenv install # Create virtualenv and install deps
pipenv shell # Spawn a shell with our environment
nodeenv -p -r node-requirements.txt # Install node.js requirements
You can exit out of the shell with exit or ^D
Create a directory called instance in the root. This directory is for files
that are not to be commited to git. Copy config.py to instance/.
config.py in root is read first, and instance/config.py after that,
overwriting values if already set. Think of config.py in root as good
defaults for the project and instance/config.py as your custom settings.
The database file location is set in config.py relative to where config.py
is, copying config.py to instance/ (and thereby the database location
setting) will therefore result in the database being created in instance/,
which is desirable as it will then be ignored by git.
Use manage.py to create the database. python3 manage.py full_setup will
create the database, some useful tags and a user with the Webmaster tag.
Set environment variable FLASK_APP to fernet/__init__.py, then run
flask run. To enable debugging, set FLASK_DEBUG to 1.
E.g.,
FLASK_APP=fernet/__init__.py FLASK_DEBUG=1 flask run
Image paths have the optional /img(400|800|1600)/ which nginx understands but
Flask's developement server does not. Images with the resize path argument will
return 404. Setting DEBUG = True in the config will however enable redirection
of those paths to the original image, making it possible to use Flask's server.