This project relies on data collection and is currently not working because we don't have the data we need. For more information about the state of this project, check out our wiki here!
Your system needs the following installed:
- Docker - DigitalOcean has a great tutorial to do this on ubuntu 16.04.
- Docker-compose - If you have pip installed this can be installed with
pip install docker-compose
Initialize the database and load in the data. This will be done on your local machine outside of a docker container.
cd server
pipenv install --dev
pipenv shell
python manage.py migrate
python manage.py loadwages ../resourcesThis is creating an sqlite database in the project repo and populating it
with the data from the resources/ directory. We do this once at the start
of the project because the application considers this database to be
a static build artifact (It has not need to mutate the data while running).
Now that this database has been built the application itself will be served through docker.
If you run into issues, consider deleting Pipfile.lock and trying again.
To launch your server run
$ source ./dev_env.sh
$ docker-compose upYou can then direct your browser to localhost:80 to see the site.
If you are working on the server, restart the server container to see changes.
Do this by hitting ctrl+c in the terminal you ran docker-compose up in,
then run docker-compose up again.
If you add a dependency to the server you need to rebuild the docker containers
in order for it to get picked up. This would be the case if you ran
pip install [anything]. Add the requirement to server/requirements.txt
and then run
$ docker-compose build oneoff
$ docker-compose build webIf you need to connect to a container for debugging use:
docker exec -it <container_id> /bin/bashFirst run docker-compose up and python manage.py loadwages ../resources to
gather static files, build the client, and load in the data.
docker save -o mnpay_nginx.image mnpay_nginx
scp mnpay_nginx.image <remote_server>/<remote_path>
docker save -o mnpay_web.image mnpay_web
scp mnpay_web.image <remote_server>/<remote_path>On the remote server.
docker load -i mnpay_nginx.image
docker load -i mnpay_web.image
docker-compose -f docker-compose-prod.yml up