54 lines
1.2 KiB
YAML
54 lines
1.2 KiB
YAML
services:
|
|
db:
|
|
image: "postgres:15.1-alpine3.17"
|
|
volumes:
|
|
- ./data/db:/var/lib/postgresql/data
|
|
env_file: .env
|
|
ports:
|
|
- "5432:5432"
|
|
redis:
|
|
image: "redis:7.0.7-alpine3.17"
|
|
command: redis-server
|
|
volumes:
|
|
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
|
|
- ./redis-data:/var/lib/redis
|
|
environment:
|
|
- REDIS_REPLICATION_MODE=master
|
|
celery:
|
|
build: .
|
|
command: celery -A ptcoffee worker --loglevel=INFO
|
|
env_file: .env
|
|
volumes:
|
|
- .:/app
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
web:
|
|
build: .
|
|
command: gunicorn --bind :8000 --reload ptcoffee.wsgi:application
|
|
volumes:
|
|
- .:/app
|
|
- ./static/:/var/www/static
|
|
- ./media/:/var/www/media
|
|
ports:
|
|
- "8000:8000"
|
|
env_file: .env
|
|
depends_on:
|
|
- redis
|
|
- db
|
|
nginx:
|
|
image: "nginx:1.23.3-alpine"
|
|
restart: always
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- ./static/:/var/www/static
|
|
- ./media/:/var/www/media
|
|
- ./nginx/${NGINX_CONF}:/etc/nginx/conf.d/default.conf
|
|
- /var/www/html:/var/www/html
|
|
- /etc/letsencrypt:/etc/letsencrypt
|
|
- /var/lib/letsencrypt:/var/lib/letsencrypt
|
|
depends_on:
|
|
- web
|