mod: Все для контейнера в dev-режиме.
This commit is contained in:
64
docker-compose.local.yml
Normal file
64
docker-compose.local.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
# ==============================================================================
|
||||
# Docker Compose для РАЗРАБОТКИ (Local Development)
|
||||
# Этот файл содержит настройки для локальной работы (live reload, debug).
|
||||
# Запуск: docker compose -f docker-compose.local up --build
|
||||
# ==============================================================================
|
||||
|
||||
services:
|
||||
web:
|
||||
# Имя контейнера для удобства
|
||||
container_name: oknardia-backend-dev
|
||||
|
||||
# Сборка из текущей директории
|
||||
build: .
|
||||
|
||||
# Пробрасывание портов (чтобы сайт был доступен на localhost:8060)
|
||||
# Занятые порты можно посмотреть через `sudo ss -tulpn`
|
||||
ports:
|
||||
- "8060:8000"
|
||||
|
||||
# 1. КОМАНДА ЗАПУСКА (Dev режим)
|
||||
# Используем Django runserver для разработки:
|
||||
# - Автоматически отдаёт статику без WhiteNoise
|
||||
# - Имеет встроенный auto-reload при изменении кода
|
||||
# - Безопаснее и проще для dev, чем Gunicorn
|
||||
# - Миграции применяются автоматически при каждом старте
|
||||
command: >
|
||||
sh -c "python manage.py migrate --noinput &&
|
||||
python manage.py collectstatic --noinput &&
|
||||
python manage.py runserver 0.0.0.0:8000"
|
||||
|
||||
# 2. МОНТИРОВАНИЕ КОДА (Live Reload)
|
||||
# Подключаем весь проект целиком в /home/app для правильного вычисления путей PROJECT_ROOT.
|
||||
# При изменении кода runserver автоматически перезагружается (auto-reload).
|
||||
#
|
||||
# Структура монтирования:
|
||||
# Host: /Users/e-serg/PRJ/2022-oknardia (.)
|
||||
# Container: /home/app
|
||||
# ├── oknardia/ <- исходный код (manage.py находится здесь)
|
||||
# ├── database/ <- SQLite БД для синхронизации между хостом и контейнером
|
||||
# ├── public/ <- статика и медиа-файлы
|
||||
# └── templates/ <- Django шаблоны
|
||||
volumes:
|
||||
- .:/home/app
|
||||
|
||||
# 3. ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ
|
||||
env_file:
|
||||
# файл с переменными окружения для разработки
|
||||
- .env
|
||||
environment:
|
||||
# На всякий случай принудительно включаем DEBUG и DEBUG-уровень логов (вдруг в .env что-то не так)
|
||||
# Эти настройки более приоритетные, чем в .env (если дублируются).
|
||||
- DEBUG=True
|
||||
- DJANGO_LOG_LEVEL=DEBUG
|
||||
# В dev нам не нужно ограничивать буферизацию так строго, но не помешает.
|
||||
|
||||
# 4. РЕСУРСЫ (Без лимитов для разработки)
|
||||
# Удаляем секцию ограничений, чтобы локально использовать все доступные ресурсы хоста.
|
||||
# deploy:
|
||||
# resources:
|
||||
# limits:
|
||||
# cpus: ...
|
||||
# memory: ...
|
||||
# mem_limit: ...
|
||||
|
||||
Reference in New Issue
Block a user