1
0
Fork 0
mirror of https://github.com/EDeev/deev.space.git synced 2026-10-07 20:49:59 +03:00
deev.space/docs/deploy.md
Egor Deev a696d996b9 README на русском и английском, документация, скриншоты, лицензия MIT
- README.md и README.en.md: что это, статус, скриншоты, быстрый старт в Docker,
  установка без Docker, переменные окружения, схема, развёртывание, разработка;
- docs/architecture.md (модели, оценки без регистрации, антинакрутка, безопасность)
  и docs/deploy.md (Docker и устройство боевого сервера) вместо описания моделей в README;
- файл LICENSE (MIT), который раньше был заявлен только в README.
2026-10-02 12:23:09 +00:00

1.6 KiB
Raw Permalink Blame History

Развёртывание

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.