Files
2024-test-rosmorport/docker-compose.yml
erjemin 8385e04103 refactor: Удалена ненужная папка logs
Причины:
- В production логи nginx хранятся в системной папке хоста
- В dev образ постоянно перестраивается, логи не накапливаются
- Логи не нужны для хранения в контейнере
Удалено:
- Папка logs из корня проекта
- mkdir -p /app/logs из Dockerfile
- Монтирование logs из docker-compose.yml и docker-compose.prod.yml
- Переменная TOUCH_RELOAD из settings.py и .env файлов
Результат: более clean и минималистичная структура проекта
2026-03-31 13:45:32 +03:00

82 lines
2.4 KiB
YAML

# docker-compose.yml для локальной разработки проекта rosmorport_tsts
version: '3.9'
services:
# Django приложение
web:
# Строим образ из Dockerfile в текущей директории
build:
context: .
dockerfile: Dockerfile
# Имя контейнера
container_name: rosmorport_web
# Переменные окружения для разработки
environment:
- DOCKER_ENV=1
- DEBUG=True
- ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0,web
- DB_ENGINE=django.db.backends.sqlite3
- DB_NAME=/app/db.sqlite3
- PYTHONUNBUFFERED=1
# Монтируем текущую директорию для разработки
volumes:
- .:/app
- ./public/static:/app/public/static
- ./public/media:/app/public/media
- ./database:/app/database
# Перенаправляем порты
ports:
- "8000:8000"
# Команда для запуска в режиме разработки
command: >
sh -c "python rosmorport_tsts/manage.py migrate &&
python rosmorport_tsts/manage.py collectstatic --noinput &&
python rosmorport_tsts/manage.py runserver 0.0.0.0:8000"
# Зависимости (если будут другие сервисы)
# depends_on:
# - db
# Сохраняем контейнер в запущенном состоянии при ошибках
stdin_open: true
tty: true
# Опционально: PostgreSQL база данных для продакшена
# db:
# image: postgres:16-alpine
# container_name: rosmorport_db
# environment:
# - POSTGRES_DB=rosmorport_db
# - POSTGRES_USER=postgres
# - POSTGRES_PASSWORD=postgres
# volumes:
# - postgres_data:/var/lib/postgresql/data
# ports:
# - "5432:5432"
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U postgres"]
# interval: 10s
# timeout: 5s
# retries: 5
# Именованные тома для хранения данных
volumes:
django_staticfiles:
driver: local
django_mediafiles:
driver: local
# postgres_data:
# driver: local
# Опционально: сеть для сервисов
networks:
default:
name: rosmorport_network
driver: bridge