data | ||
flask | ||
lb | ||
tileserver | ||
.env.dev-sample | ||
.env.prod-sample | ||
.gitignore | ||
docker-compose.dev.yml | ||
docker-compose.yml | ||
gen-selfsigned-cert.sh | ||
issue-certificate.sh | ||
LICENSE | ||
README.md | ||
swagger.yaml |
Development
Uses the default Flask development server.
-
Rename .env.dev-sample to .env.dev.
-
Update the environment variables in the docker-compose.yml and .env.dev files.
- (M1 chip only) Remove
-slim-buster
from the Python dependency inservices/web/Dockerfile
to suppress an issue with installing psycopg2
- (M1 chip only) Remove
-
Build the images and run the containers:
$ docker-compose up -d --build
Test it out at http://localhost:5000. The "web" folder is mounted into the container and your code changes apply automatically.
Production
Uses gunicorn + nginx.
-
Rename .env.prod-sample to .env.prod and .env.prod.db-sample to .env.prod.db. Update the environment variables.
-
Build the images and run the containers:
$ docker-compose -f docker-compose.prod.yml up -d --build
Test it out at http://localhost:1337. No mounted folders. To apply changes, the image must be re-built.
More info:
Check out the post.