46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
version: '3.7'
|
|
|
|
services:
|
|
web:
|
|
build: ./web
|
|
container_name: palindrome-web
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./web/app:/usr/src/palindrome-app/app
|
|
- ./web/palindromes:/usr/src/palindrome-app/palindromes
|
|
- ./web/functional_tests.py:/usr/src/palindrome-app/functional_tests.py
|
|
- ./web/manage.py:/usr/src/palindrome-app/manage.py
|
|
- ./static_volume:/usr/src/palindrome-app/staticfiles
|
|
expose:
|
|
- 8000
|
|
env_file: live.env
|
|
depends_on:
|
|
- db
|
|
command: >
|
|
bash -c "./wait-for-it/wait-for-it.sh db:5432 --strict --timeout=0
|
|
&& gunicorn --bind 0.0.0.0:8000 --workers=4 app.wsgi:application"
|
|
|
|
db:
|
|
container_name: palindrome-db
|
|
env_file: live.env
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_DB_NAME: ${POSTGRES_DB_NAME}
|
|
expose:
|
|
- 5432
|
|
image: postgres:13
|
|
volumes:
|
|
- ./postgres_data:/var/lib/postgresql/data/
|
|
nginx:
|
|
container_name: palindrome-nginx
|
|
build: ./nginx
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./static_volume:/usr/src/app/staticfiles
|
|
ports:
|
|
- 8000:80
|
|
depends_on:
|
|
- web
|