3.7 KiB
3.7 KiB
Развёртывание на Ubuntu 24.04
Эксплуатация SAC: native (PostgreSQL + systemd + nginx). Docker — только альтернатива.
Руководства по установке
| Документ | Назначение |
|---|---|
| install-ubuntu-24.04-native.md | Production — пошаговая подготовка сервера |
| install-ubuntu-24.04-docker.md | Стенд / отладка (Compose) |
| install-ubuntu-24.04.md | Указатель |
Артефакты native в репозитории
deploy/
env.native.example → /opt/security-alert-center/config/sac-api.env
systemd/sac-api.service → /etc/systemd/system/
nginx/sac.conf.example → /etc/nginx/sites-available/sac
1. Требования к серверу
| Параметр | Минимум | Рекомендуется |
|---|---|---|
| ОС | Ubuntu 24.04 LTS | Ubuntu 24.04 LTS |
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| Диск | 50 GB SSD | 100+ GB SSD |
Порты снаружи: 443 (nginx), 80 (редирект). API 8000 — только 127.0.0.1. PostgreSQL — только localhost.
2. Сетевые правила
Агенты → https://sac.kalinamall.ru/api/v1/events
SAC → Telegram, SMTP (исходящие)
Админы → 443 (UI/API через nginx)
3. Вариант A: Native (production)
Компоненты на хосте:
| Компонент | Как |
|---|---|
| PostgreSQL 16 | apt, БД sac |
| SAC API | Python 3.12 venv, systemd sac-api |
| TLS / proxy | nginx |
| UI (позже) | static в /var/www/sac/ |
Полная инструкция: install-ubuntu-24.04-native.md.
Кратко:
systemctl status sac-api
curl -sS http://127.0.0.1:8000/health
curl -sS https://sac.kalinamall.ru/health
4. Вариант B: Docker Compose (альтернатива)
См. install-ubuntu-24.04-docker.md и deploy/docker-compose.yml.
Не используется для production KalinaMall.
5. TLS
- Production (KalinaMall): корпоративный wildcard (VeriSign) — ssl-certificate.md (копирование, форматы,
/etc/ssl/sac/), install-ubuntu-24.04-native.md §9,deploy/nginx/sac.conf.tls.example - Альтернатива: certbot + Let's Encrypt (
deploy/nginx/sac.conf.example)
6. Резервное копирование (native)
# /etc/cron.d/sac-backup
0 3 * * * postgres pg_dump -Fc -U sac sac > /var/backups/sac/sac_$(date +\%Y\%m\%d).dump
Восстановление: pg_restore -d sac_restored /var/backups/sac/sac_YYYYMMDD.dump
7. Обслуживание
| Задача | Периодичность |
|---|---|
unattended-upgrades |
автоматически |
journalctl -u sac-api |
по инцидентам |
/health |
каждые 5 мин |
| Тест restore БД | ежемесячно |
8. Обновление (native)
cd /opt/security-alert-center && sudo -u sac git pull
sudo -u sac backend/.venv/bin/pip install -r backend/requirements.txt
sudo -u sac bash -c 'set -a; source /opt/security-alert-center/config/sac-api.env; set +a; cd backend && .venv/bin/alembic upgrade head'
sudo systemctl restart sac-api