Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/testdrivenio/flask-on-docker
Flask + Docker
https://github.com/testdrivenio/flask-on-docker
docker flask flask-docker flask-docker-nginx-gunicorn
Last synced: about 2 months ago
JSON representation
Flask + Docker
- Host: GitHub
- URL: https://github.com/testdrivenio/flask-on-docker
- Owner: testdrivenio
- License: mit
- Created: 2019-10-24T16:18:37.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-23T13:08:24.000Z (8 months ago)
- Last Synced: 2024-08-07T23:44:44.327Z (5 months ago)
- Topics: docker, flask, flask-docker, flask-docker-nginx-gunicorn
- Language: Python
- Homepage:
- Size: 143 KB
- Stars: 329
- Watchers: 12
- Forks: 159
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - testdrivenio/flask-on-docker - Flask + Docker (Python)
README
# Dockerizing Flask with Postgres, Gunicorn, and Nginx
## Want to learn how to build this?
Check out the [tutorial](https://testdriven.io/blog/dockerizing-flask-with-postgres-gunicorn-and-nginx).
## Want to use this project?
### 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
$ docker-compose up -d --build
```Test it out at [http://localhost:5001](http://localhost:5001). 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.
1. Build the images and run the containers:```sh
$ docker-compose -f docker-compose.prod.yml up -d --build
```Test it out at [http://localhost:1337](http://localhost:1337). No mounted folders. To apply changes, the image must be re-built.