Files
2026-etpgrf-site/docker-compose.yml
T

48 lines
1.5 KiB
YAML

version: '3.8'
services:
etpgrf-backend:
build: .
# Запускаем collectstatic перед стартом сервера, чтобы обновить статику в volume
command: sh -c "python etpgrf_site/manage.py collectstatic --noinput && gunicorn --bind 0.0.0.0:8000 --chdir /app/etpgrf_site etpgrf_site.wsgi"
volumes:
# Монтируем папку с базой данных
- ./data:/app/data
# Монтируем статику в именованный том, чтобы Nginx мог её читать
- static_volume:/app/public/static_collected
# Монтируем медиа в /app/media (унификация путей)
- ./media:/app/media
env_file:
- .env
# Настройка ротации логов (чтобы не забить диск)
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
etpgrf-nginx:
image: nginx:1.25-alpine
volumes:
- ./config/nginx/etpgrf--internal-nginx.conf:/etc/nginx/nginx.conf:ro
- static_volume:/app/public/static_collected
# Nginx тоже должен видеть медиа
- ./media:/app/media
ports:
- "8000:80" # Слушаем 8000 снаружи, проксируем на 80 внутри
depends_on:
- etpgrf-backend
# Настройка ротации логов
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
static_volume: