9203af90d5
- install-ubuntu-24.04-native.md (production) and -docker.md (alternative) - deploy/systemd/sac-api.service, nginx/sac.conf.example, env.native.example - deployment, README, INDEX, work-plan, TZ updated
3.4 KiB
3.4 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 → /etc/security-alert-center/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.example.com/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.example.com/health
4. Вариант B: Docker Compose (альтернатива)
См. install-ubuntu-24.04-docker.md и deploy/docker-compose.yml.
Не используется для production KalinaMall.
5. TLS
- certbot + nginx (Let's Encrypt)
- Внутренний CA — сертификаты в nginx, доверие на агентах Windows/Linux
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 /etc/security-alert-center/sac-api.env; set +a; cd backend && .venv/bin/alembic upgrade head'
sudo systemctl restart sac-api