Commit Graph
11 Commits
Author SHA1 Message Date
erjemin 08668fee6d del: ini-файл uWSGI не нужен. В контейнере используется gunicorn 2026-03-31 22:33:31 +03:00
erjemin d846542e34 docs: обновлен about.jinja с информацией о проекте
Добавлена информация:
- История проекта РосМорПорт с 2004 года
- Ссылка на репозиторий (https://git.cube2.ru/erjemin/2024-test-rosmorport)
- Описание переделки в 2026 году для развертывания в Docker при переносе на новый хостинг
2026-03-31 19:19:20 +03:00
erjemin 792d152be2 feat: оптимизация Docker контейнера для разработки
Обновлен Dockerfile с двухэтапной сборкой, экспортом зависимостей через poetry, сборкой статики и удалением лишних файлов (экономия ~20МБ).
Обновлен docker-compose.yml с привязкой к localhost для безопасности.
Обновлен .dockerignore для исключения ненужных файлов (source maps, RTL CSS, TTF).
Добавлены таймауты SQLite в settings.py.
Минимальные параметры Gunicorn: 1 worker, timeout 30s, max-requests 100.
Тестировано и работает на http://localhost:8040
2026-03-31 18:57:33 +03:00
erjemin 6e7a4c52e0 feat: Добавлена поддержка WhiteNoise для обслуживания статических файлов
- Конфигурация collectstatic в settings.py:
  * STATIC_ROOT = staticfiles/ для собранных файлов
  * STATICFILES_DIRS указывает на public/static
  * CompressedManifestStaticFilesStorage для production
  * WhiteNoiseMiddleware в MIDDLEWARE
  * WHITENOISE_ROOT для подачи файлов из /public
- Исправлены пути в settings.py для правильной работы БД
- Обновлена конфигурация urls.py для отдачи статики
- Добавлена зависимость whitenoise ^6.6.0 в pyproject.toml
- Обновлен .gitignore (раскомментирована staticfiles/)
Статика работает в dev режиме и готова для production.
2026-03-31 16:51:48 +03:00
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
erjemin 55980a0659 fix: Исправлен путь к БД SQLite - используется абсолютный путь
- Проблема: при запуске manage.py из rosmorport_tsts/ относительный путь database/db.sqlite3 не работал
- Решение: теперь путь всегда строится как абсолютный от PROJECT_ROOT
- БД корректно находится в database/db.sqlite3 в корне проекта
- Протестировано: проект запускается без ошибок, БД содержит 17 записей из production
Структура БД скопирована с production сервера.
2026-03-31 01:42:18 +03:00
erjemin ef80a66b69 refactor: Реорганизация структуры для контейнеризации
- database/ папка в корне проекта для БД
- public/ для статики и медиа (монтируются отдельно)
- Обновлены docker-compose файлы с правильными томами
2026-03-31 01:25:15 +03:00
erjemin 493de32998 security: Переведена админ панель на переменную окружения ADMIN_URL
- Добавлена переменная окружения ADMIN_URL для динамического управления URL админки
- Дефолтное значение в коде: 'admin/' (стандартное, безопасное)
- Пользователь может переопределить через .env для скрытия в production
- Примечание: никогда не коммитьте реальные значения секретов в .env.example
Это позволяет:
- Легко скрывать админку от автоматических сканеров
- Использовать разные URL для dev/production
- Не хранить секреты в коде
2026-03-31 00:48:34 +03:00
erjemin 31cd78079a fix: Исправлена раздача статических файлов в DEV режиме
- Исправлены пути STATICFILES_DIRS и MEDIA_ROOT (они должны быть относительно корня проекта, а не settings.py)
- Добавлена раздача STATIC_URL в urls.py для DEBUG режима
- Проверено что все статические файлы (CSS, JS) отдаются с кодом 200
Использование:
- Media:  Не используется (нет FileField/ImageField в моделях)
- Static:  Используется (CSS, JS, images в public/static)
Статика теперь корректно работает в dev окружении.
2026-03-31 00:31:32 +03:00
erjemin 1a2865bae7 refactor: Облегчение pyproject.toml для production
- Удалены dev зависимости (pytest, black, ruff, mypy, ipython и т.д.)
- Оставлены только необходимые для production пакеты
- poetry.lock сокращен с 63KB до 4KB
- Проект работает нормально (django check passed)
Для локальной разработки можно установить нужные инструменты отдельно при необходимости.
2026-03-31 00:18:51 +03:00
erjemin d9e8c2d8bd feat: Настройка проекта для локальной разработки
- Добавлена конфигурация через poetry (pyproject.toml + poetry.lock)
- Переделана система конфигурации Django с .env переменными
- Добавлен файл .env для локальной разработки (SQLite БД)
- Обновлен settings.py для работы с переменными окружения
- Создана документация по локальной разработке (DEVELOPMENT.md)
- Подготовлена инфраструктура для Docker (Dockerfile, docker-compose.yml)
- Обновлен .gitignore для Python/Django проекта
Проект работает локально с миграциями и админ пользователем (admin/1234).
2026-03-31 00:09:46 +03:00