# Ресурсы и данные Docker Этот файл сопровождает профили в `deploy/compose/`. Текущие значения `deploy.resources.limits` — верхние границы, а не измеренное потребление. Сумма лимитов `microvps-full` с edge и без NATS — 984M. Её нельзя считать подтверждением пригодности для VPS с 1 ГиБ RAM: нужны измерения ОС, Docker, BIRD и пиков refresh/apply. Лимиты BIRD и agent до таких измерений не снижены. ## Дополнительный NATS Во всех основных Compose-вариантах NATS запускается только через `--profile nats` (или `COMPOSE_PROFILES=nats` для standalone stack). В коде `EVOBGP_BROKER_URL` только записывается в лог: внутренняя очередь не использует NATS. Перед отключением NATS на существующем хосте проверьте внешних клиентов порта 4222. Профиль не удаляет данные NATS и не меняет BIRD, WireGuard, agent или их тома. ## Данные Prometheus Prometheus монтирует named volume `prometheus_data` в `/prometheus`. Retention по времени: 7 дней для `microvps-full`/standalone и 15 дней для `reference`; дополнительный предел по размеру задаёт `EVOBGP_PROMETHEUS_RETENTION_SIZE` (по умолчанию `2GB`). Это предел данных TSDB, а не строгий предел диска процесса: WAL и head block требуют отдельного запаса. Для самого маленького хоста сначала измерьте прирост диска и число серий, затем установите размер под доступную ёмкость. **Обновление существующего стека:** прежний образ Prometheus мог хранить историю в анонимном Docker volume. Простое пересоздание контейнера с новым named volume покажет пустую историю. До `up` найдите текущий mount через `docker inspect `: у записи с `Destination=/prometheus` сохраните `Name`/`Source` и сделайте резервную копию. Для файлового копирования сначала остановите Prometheus либо используйте его поддерживаемый snapshot API. Перенесите содержимое старого тома в новый том с сохранением прав владельца; фактическое имя нового тома содержит префикс Compose project (проверьте через `docker volume ls` и `docker inspect`). Можно осознанно начать новую историю после проверки бэкапа. Проверьте запросы Prometheus до и после recreate. Не запускайте `docker compose down -v`: это удаляет также PostgreSQL, BIRD и другие тома проекта. В production перенос выполняйте отдельно от обновления BIRD/agent. ## Проверка эффекта На одном оборудовании и одинаковом наборе маршрутов сравните `docker compose config`, `docker inspect` (фактические лимиты и mount), `docker stats`, `docker system df -v`, размер логов за сутки, cold/warm build и pull. После изменения проверьте отсутствие OOM/restarts и BGP flaps, совпадение prefix/community, работу apply/rollback и latency API. Локальная среда разработки без Docker не подтверждает экономию RAM или диска.