2022-02-03 16:46:54 -05:00
### Development
Uses the default Flask development server.
1. Rename *.env.dev-sample* to *.env.dev* .
1. Update the environment variables in the *docker-compose.yml* and *.env.dev* files.
- (M1 chip only) Remove `-slim-buster` from the Python dependency in `services/web/Dockerfile` to suppress an issue with installing psycopg2
1. Build the images and run the containers:
```sh
2022-02-04 10:46:39 -05:00
$ docker-compose -f docker-compose.dev.yml up -d --build
2022-02-03 16:46:54 -05:00
```
Test it out at [http://localhost:5000 ](http://localhost:5000 ). The "web" folder is mounted into the container and your code changes apply automatically.
### Production
Uses gunicorn + nginx.
1. Rename *.env.prod-sample* to *.env.prod* and *.env.prod.db-sample* to *.env.prod.db* . Update the environment variables.
2022-02-04 10:46:39 -05:00
2. run osmtile with import script
2. Build the images and run the containers:
2022-02-03 16:46:54 -05:00
```sh
2022-02-04 10:46:39 -05:00
$ docker-compose up -d --build
2022-02-03 16:46:54 -05:00
```
Test it out at [http://localhost:1337 ](http://localhost:1337 ). No mounted folders. To apply changes, the image must be re-built.
### More info:
Check out the [post ](https://testdriven.io/blog/dockerizing-flask-with-postgres-gunicorn-and-nginx ).