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

66 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-VK-EDU-Web-12-Istratov-D
## Запуск в Docker
1. Скопируйте `.env.docker` в `.env` или создайте свой файл на основе `.env.example`.
2. Запустите сервисы:
```bash
docker compose up --build
```
3. Откройте приложение: `http://127.0.0.1:8080`
4. Centrifugo доступен на `http://127.0.0.1:8001`
5. 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`
## Миграции
После изменений моделей выполните:
```bash
python manage.py makemigrations
python manage.py migrate
```
## Дополнительные конфигурации
- `gunicorn_conf.py` — конфигурация Gunicorn с двумя воркерами.
- `simple_wsgi.py` — простой WSGI-приложение для запуска без Django на `localhost:8081`.
- `nginx.conf` — пример конфигурации Nginx для отдачи `/uploads/`, статических файлов и проксирования на Gunicorn.
## Заполнить базу данных
```bash
python manage.py fill_db 10000
```
Когда запущено в докере:
```bash
docker compose exec python-app python manage.py fill_db 10000
```
Это удалит предыдущие данные из дб!
## Реализовано
- Redis / Celery / Celery Beat
- кэширование популярных тегов и лучших участников
- асинхронные уведомления в Centrifugo
- отправка email-уведомлений через Celery
- полнотекстовый поиск и подсказки
- Docker Compose инфраструктура
```