feat: Настройка проекта для локальной разработки

- Добавлена конфигурация через poetry (pyproject.toml + poetry.lock)
- Переделана система конфигурации Django с .env переменными
- Добавлен файл .env для локальной разработки (SQLite БД)
- Обновлен settings.py для работы с переменными окружения
- Создана документация по локальной разработке (DEVELOPMENT.md)
- Подготовлена инфраструктура для Docker (Dockerfile, docker-compose.yml)
- Обновлен .gitignore для Python/Django проекта
Проект работает локально с миграциями и админ пользователем (admin/1234).
This commit is contained in:
2026-03-31 00:09:46 +03:00
parent a007337f75
commit d9e8c2d8bd
11 changed files with 1925 additions and 27 deletions

80
docker-compose.yml Normal file
View File

@@ -0,0 +1,80 @@
# 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
- django_staticfiles:/app/public/static
- django_mediafiles:/app/public/media
# Перенаправляем порты
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