mirror of
https://github.com/EDeev/deev.space.git
synced 2026-10-07 20:49:59 +03:00
- README.md и README.en.md: что это, статус, скриншоты, быстрый старт в Docker, установка без Docker, переменные окружения, схема, развёртывание, разработка; - docs/architecture.md (модели, оценки без регистрации, антинакрутка, безопасность) и docs/deploy.md (Docker и устройство боевого сервера) вместо описания моделей в README; - файл LICENSE (MIT), который раньше был заявлен только в README.
1.6 KiB
1.6 KiB
Развёртывание
Docker
cp .env.example .env # задайте DJANGO_SECRET_KEY и при необходимости ключи капчи и почты
docker compose up -d
docker compose exec web python manage.py createsuperuser
База и загруженные файлы хранятся в томе data (/data/db.sqlite3, /data/media). Готовый образ
собирается GitHub Actions на каждый тег v*:
docker pull ghcr.io/edeev/deev.space:latest
docker pull dcr.deev.su/edeev/deev.space:latest
За обратным прокси укажите домены в DJANGO_ALLOWED_HOSTS и DJANGO_CSRF_TRUSTED_ORIGINS, а
DJANGO_SERVE_MEDIA выключите и отдавайте /media/ прокси-сервером.
Как работает deev.space
Боевой сайт крутится на VPS без Docker:
- gunicorn под отдельным пользователем
dspace, systemd-юнит, unix-сокет; - nginx отдаёт
/static/и/media/с диска и проксирует остальное в сокет, TLS — Let's Encrypt; - переменные окружения — в
.envрядом с проектом; - обновление: выложить код,
pip install -r requirements.txt,python manage.py migrate,python manage.py collectstatic --noinput, перезапуск юнита; - доступность сайта и срок сертификата проверяет Prometheus (blackbox exporter), уведомления о новых сообщениях с формы приходят в Telegram через AlertBot.