Files
2026-VK-EDU-Web-12-Istratov-D/README.md
T
redtea 4bc5fcef7a hw6, hw7
- Redis / Celery / Celery Beat
- кэширование популярных тегов и лучших участников
- асинхронные уведомления в Centrifugo
- отправка email-уведомлений через Celery
- полнотекстовый поиск и подсказки
- Docker Compose инфраструктура
2026-05-28 09:48:16 +03:00

2.1 KiB
Raw Blame History

2026-VK-EDU-Web-12-Istratov-D

Запуск в Docker

  1. Скопируйте .env.docker в .env или создайте свой файл на основе .env.example.
  2. Запустите сервисы:
docker compose up --build
  1. Откройте приложение: http://127.0.0.1:8080
  2. Centrifugo доступен на http://127.0.0.1:8001
  3. Maildev доступен на http://127.0.0.1:1080

Переменные окружения

В .env должны быть:

  • SECRET_KEY
  • DEBUG
  • POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD
  • DB_ENGINE, DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, DB_PORT
  • REDIS_HOST, REDIS_PORT, REDIS_CACHE_DB, REDIS_BROKER_DB, REDIS_BEAT_DB
  • CENTRIFUGO_URL, CENTRIFUGO_API_KEY
  • EMAIL_BACKEND, EMAIL_HOST, EMAIL_PORT, DEFAULT_FROM_EMAIL

Миграции

После изменений моделей выполните:

python manage.py makemigrations
python manage.py migrate

Дополнительные конфигурации

  • gunicorn_conf.py — конфигурация Gunicorn с двумя воркерами.
  • simple_wsgi.py — простой WSGI-приложение для запуска без Django на localhost:8081.
  • nginx.conf — пример конфигурации Nginx для отдачи /uploads/, статических файлов и проксирования на Gunicorn.

Заполнить базу данных

python manage.py fill_db 10000

Когда запущено в докере:

docker compose exec python-app python manage.py fill_db 10000

Это удалит предыдущие данные из дб!

Реализовано

  • Redis / Celery / Celery Beat
  • кэширование популярных тегов и лучших участников
  • асинхронные уведомления в Centrifugo
  • отправка email-уведомлений через Celery
  • полнотекстовый поиск и подсказки
  • Docker Compose инфраструктура