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

32 lines
1.6 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.

# Развёртывание
## Docker
```bash
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*`:
```bash
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.