When the tool is brought up for the first time the database takes a little while to start up, but Docker Compose won't natively wait for the database to finish setup before starting to run the Django app. This results in the app not being able to connect successfully and erroring out. The Scripts container then has the same problem connecting to the app - migrations need to finish running before the script can find the right database table.
To avoid this for now, simply wait for the build to finish, then re-build the containers twice. We should develop a better solution though.
See https://docs.docker.com/compose/startup-order/
The simplest solution would be editing gunicorn.sh and collect_hashtags.py to wait for their dependencies to be ready before running.