f61034dff5e286c17c1698650866dd0967f893e3
2026-VK-EDU-Web-12-Istratov-D
Запуск в Docker
- Скопируйте
.env.dockerв.envили создайте свой файл на основе.env.example. - Запустите сервисы:
docker compose up --build
- Откройте приложение:
http://127.0.0.1:8080 - Centrifugo доступен на
http://127.0.0.1:8001 - Maildev доступен на
http://127.0.0.1:1080
Переменные окружения
В .env должны быть:
SECRET_KEYDEBUGPOSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORDDB_ENGINE,DB_NAME,DB_USER,DB_PASSWORD,DB_HOST,DB_PORTREDIS_HOST,REDIS_PORT,REDIS_CACHE_DB,REDIS_BROKER_DB,REDIS_BEAT_DBCENTRIFUGO_URL,CENTRIFUGO_API_KEYEMAIL_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 инфраструктура
Description
Создан в GitHub 17 марта, 2026, перенесен 19 окт., 2026
523 KiB
0 Stars
1 Watchers
0 Forks
Languages
HTML
51.4%
Python
24.7%
CSS
23%
Dockerfile
0.9%