initial setup of dev/prod envs
This commit is contained in:
commit
3a07c4ca3e
4 changed files with 64 additions and 0 deletions
14
.env.dev-sample
Normal file
14
.env.dev-sample
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
FLASK_ENV=development
|
||||||
|
FLASK_APP=forest/__init__.py
|
||||||
|
APP_FOLDER=/usr/src/app
|
||||||
|
|
||||||
|
SQL_HOST=db
|
||||||
|
SQL_PORT=5432
|
||||||
|
DATABASE=postgres
|
||||||
|
|
||||||
|
POSTGRES_USER=forest
|
||||||
|
POSTGRES_PASSWORD=forest123
|
||||||
|
POSTGRES_DB=forest_dev
|
||||||
|
|
||||||
|
DATABASE_URL=postgresql://forest:forest123@db:5432/forest_dev
|
||||||
|
|
14
.env.prod-sample
Normal file
14
.env.prod-sample
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
FLASK_ENV=production
|
||||||
|
FLASK_APP=project/__init__.py
|
||||||
|
APP_FOLDER=/home/app/web
|
||||||
|
|
||||||
|
SQL_HOST=db
|
||||||
|
SQL_PORT=5432
|
||||||
|
DATABASE=postgres
|
||||||
|
|
||||||
|
POSTGRES_USER=forest
|
||||||
|
POSTGRES_PASSWORD=forest123
|
||||||
|
POSTGRES_DB=forest_prod
|
||||||
|
|
||||||
|
DATABASE_URL=postgresql://forest:forest123@db:5432/forest_prod
|
||||||
|
|
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
*.pyc
|
||||||
|
__pycache
|
||||||
|
.DS_Store
|
||||||
|
.env.dev
|
||||||
|
.env.prod
|
31
README.md
Normal file
31
README.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
### 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: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.
|
||||||
|
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.
|
||||||
|
|
||||||
|
### More info:
|
||||||
|
Check out the [post](https://testdriven.io/blog/dockerizing-flask-with-postgres-gunicorn-and-nginx).
|
||||||
|
|
Loading…
Reference in a new issue