ВозможностиОрганизации
Документация
    Ring Platform

    Децентрализованное самостроящееся будущее

    Войти
    Организации
    Возможности
    Магазин
    Документация
    Концепции платформы
    RING ЭкономикаSonoratek LLCГлобальное влияниеAI встречает Web3
    Начать
    Быстрый стартКалькуляторДорожная карта
    Конфиденциальность|Контакты
    v1.104.17|Sonoratek LLC

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Web3
    Token launch jurisdictions
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Web3
    Token launch jurisdictions
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)

    Documentation

    Концепции, ценность и типичные сценарии клонирования — меньше кода.

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Web3
    Token launch jurisdictions
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Self-hosted развёртывание
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Архитектура PaymentConductor
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server

    Быстрый вход (CTO · аудиторы · агенты)

    Приветствие — миссия и аудитории
    Краткий справочник
    С чего начать
    Архитектура и Auth.js
    Режимы бэкенда и базы данных (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безопасность и соответствие требованиям
    ringdom.org — база LegioX
    Исходный код — лицензия MIT (GitHub)
    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Резервное копирование и восстановление

    Используйте фильтр Founder / Developer в боковой панели документации. Эта страница заменяет устаревшие фиктивные материалы (выдуманные TypeScript-менеджеры, KPI в долларах, много-региональные сценарии failover, которые отсутствуют в OSS-репозитории). Всё, что описано ниже, проверено по data/schema.sql, env.local.template и документации по развертыванию.

    Клоны Ring с DB_BACKEND_MODE=k8s-postgres-fcm (боевой режим по умолчанию) используют PostgreSQL как основной источник для пользователей, сущностей, возможностей, заказов, платежей и большей части CRM-данных. Резервное копирование должно охватывать базу данных, загруженные файлы и секреты/конфигурацию — это три разных артефакта с отдельными этапами восстановления.

    Что защищается резервным копированием

    АктивОбычное расположениеПриоритет восстановления
    PostgreSQLкластер DATABASE_URL или Docker-томКритичный — идентификаторы, торговля, контент
    Схема + миграцииdata/schema.sql, data/migrations/*.sqlВ git под контролем версий; повторно применить после “пустого” восстановления
    Blob / объектное хранилищеПровайдер file() — ring_filebase (по умолчанию), vercel_blob, local_storage, или firebase_storage (RingFileBase, Ring CDN)Высокий — изображения товаров, вложения, сгенерированные медиа
    Секреты среды.env.local, секрееты k8s (не в публичном репозитории)Критичный — Auth.js, WayForPay/Stripe, FCM service account
    Redis-кешDocker-том ring-redis-dataНизкий — можно сбросить/пересоздать; сессии сбросятся
    FCM-токеныPostgres JSONB fcm_tokens при использовании postgres-primaryПокрываются резервной копией БД

    Почему бэкап важен для вашего клона

    Ring — это не просто сайт. Postgres хранит статус членства, каталоги продавцов, заказы и платежи, объявления возможностей, рефералов. Потеря базы без точки восстановления = ручная перерегистрация пользователей и сверка платежей.

    Типовые сценарии

    Клон до запуска

    Снимите резервную копию после применения схемы и исходных данных — сможете откатить неудачную миграцию или сбросить стейджинг.

    Мультивендорный маркетплейс

    Заказы и остатки — в Postgres, изображения товаров могут быть в Blob. Бекапьте и то, и другое.

    Менеджмент на Ringdom Hosting

    Пользователи ringdom.org на k8s используют расписания CNPG/MinIO, самостоятельные хостеры сами отвечают за резервные копии.

    PostgreSQL-primary (k8s-postgres-fcm/supabase-fcm)

    Данные проходят через DatabaseService → PostgreSQLAdapter. Бекап = логический дамп базы клона (по одному на клон, например, ring_platform, ring_greenfood_live).

    Логический бэкап (Docker-разработка — описано в data/SCHEMA-README.md)

    1. 1

      Дамп в файл

      Для больших БД в проде лучше использовать “custom format” (для параллельного восстановления и сжатия):

    2. 2

      Восстановление в пустую базу

      Custom format:

    3. 3

      Применение миграций поверх старого дампа

      После восстановления сравните схему с эталонным data/schema.sql и инкрементальными data/migrations/. Используйте Database migrations и применяйте пропущенные миграции до запуска приложения.

    Переменная для нативного psql/pg_dump (без Docker):

    Читайте Конфигурацию окружения по переменным DB_* и файлу env.local.template.

    До опасных миграций

    Перед определёнными миграциями нужен бэкап — например, 013_users_email_unique.sql требует дедупликации (scripts/dedupe-users-by-email.cts, детали в data/migrations/README.md). Всегда делайте дамп перед дедупликацией или скриптами нормализации ролей.

    Объектное хранилище

    Файлы загружаются через выбранный провайдер file() — объекты НЕ лежат в Postgres. Разрешение (): переменные окружения / → → по умолчанию . Задействованы: (по умолчанию) | | | . Бэкапьте объекты отдельно (или принимайте риск потери медиа); см. , .

    Связанная документация

    Related documentation

    Data Model

    Предпосылка: коллекции JSONB присутствуют в дампах Postgres.

    Backend modes and databases

    Подробно: когда владеет данными Postgres, а когда Firestore.

    Docker

    Тот же подход: compose сервисы, тома, health-check.

    Database migrations

    Следующий шаг: порядок применения миграций после восстановления.

    Monitoring & Analytics

    Резервное копирование и восстановление

    Используйте фильтр Founder / Developer в боковой панели документации. Эта страница заменяет устаревшие фиктивные материалы (выдуманные TypeScript-менеджеры, KPI в долларах, много-региональные сценарии failover, которые отсутствуют в OSS-репозитории). Всё, что описано ниже, проверено по data/schema.sql, env.local.template и документации по развертыванию.

    Клоны Ring с DB_BACKEND_MODE=k8s-postgres-fcm (боевой режим по умолчанию) используют PostgreSQL как основной источник для пользователей, сущностей, возможностей, заказов, платежей и большей части CRM-данных. Резервное копирование должно охватывать базу данных, загруженные файлы и секреты/конфигурацию — это три разных артефакта с отдельными этапами восстановления.

    Что защищается резервным копированием

    АктивОбычное расположениеПриоритет восстановления
    PostgreSQLкластер DATABASE_URL или Docker-томКритичный — идентификаторы, торговля, контент
    Схема + миграцииdata/schema.sql, data/migrations/*.sqlВ git под контролем версий; повторно применить после “пустого” восстановления
    Blob / объектное хранилищеПровайдер file() — ring_filebase (по умолчанию), vercel_blob, local_storage, или firebase_storage (RingFileBase, Ring CDN)Высокий — изображения товаров, вложения, сгенерированные медиа
    Секреты среды.env.local, секрееты k8s (не в публичном репозитории)Критичный — Auth.js, WayForPay/Stripe, FCM service account
    Redis-кешDocker-том ring-redis-dataНизкий — можно сбросить/пересоздать; сессии сбросятся
    FCM-токеныPostgres JSONB fcm_tokens при использовании postgres-primaryПокрываются резервной копией БД

    Почему бэкап важен для вашего клона

    Ring — это не просто сайт. Postgres хранит статус членства, каталоги продавцов, заказы и платежи, объявления возможностей, рефералов. Потеря базы без точки восстановления = ручная перерегистрация пользователей и сверка платежей.

    Типовые сценарии

    Клон до запуска

    Снимите резервную копию после применения схемы и исходных данных — сможете откатить неудачную миграцию или сбросить стейджинг.

    Мультивендорный маркетплейс

    Заказы и остатки — в Postgres, изображения товаров могут быть в Blob. Бекапьте и то, и другое.

    Менеджмент на Ringdom Hosting

    Пользователи ringdom.org на k8s используют расписания CNPG/MinIO, самостоятельные хостеры сами отвечают за резервные копии.

    PostgreSQL-primary (k8s-postgres-fcm/supabase-fcm)

    Данные проходят через DatabaseService → PostgreSQLAdapter. Бекап = логический дамп базы клона (по одному на клон, например, ring_platform, ring_greenfood_live).

    Логический бэкап (Docker-разработка — описано в data/SCHEMA-README.md)

    1. 1

      Дамп в файл

      Для больших БД в проде лучше использовать “custom format” (для параллельного восстановления и сжатия):

    2. 2

      Восстановление в пустую базу

      Custom format:

    3. 3

      Применение миграций поверх старого дампа

      После восстановления сравните схему с эталонным data/schema.sql и инкрементальными data/migrations/. Используйте Database migrations и применяйте пропущенные миграции до запуска приложения.

    Переменная для нативного psql/pg_dump (без Docker):

    Читайте Конфигурацию окружения по переменным DB_* и файлу env.local.template.

    До опасных миграций

    Перед определёнными миграциями нужен бэкап — например, 013_users_email_unique.sql требует дедупликации (scripts/dedupe-users-by-email.cts, детали в data/migrations/README.md). Всегда делайте дамп перед дедупликацией или скриптами нормализации ролей.

    Объектное хранилище

    Файлы загружаются через выбранный провайдер file() — объекты НЕ лежат в Postgres. Разрешение (): переменные окружения / → → по умолчанию . Задействованы: (по умолчанию) | | | . Бэкапьте объекты отдельно (или принимайте риск потери медиа); см. , .

    Связанная документация

    Related documentation

    Data Model

    Предпосылка: коллекции JSONB присутствуют в дампах Postgres.

    Backend modes and databases

    Подробно: когда владеет данными Postgres, а когда Firestore.

    Docker

    Тот же подход: compose сервисы, тома, health-check.

    Database migrations

    Следующий шаг: порядок применения миграций после восстановления.

    Monitoring & Analytics

    Резервное копирование и восстановление

    Используйте фильтр Founder / Developer в боковой панели документации. Эта страница заменяет устаревшие фиктивные материалы (выдуманные TypeScript-менеджеры, KPI в долларах, много-региональные сценарии failover, которые отсутствуют в OSS-репозитории). Всё, что описано ниже, проверено по data/schema.sql, env.local.template и документации по развертыванию.

    Клоны Ring с DB_BACKEND_MODE=k8s-postgres-fcm (боевой режим по умолчанию) используют PostgreSQL как основной источник для пользователей, сущностей, возможностей, заказов, платежей и большей части CRM-данных. Резервное копирование должно охватывать базу данных, загруженные файлы и секреты/конфигурацию — это три разных артефакта с отдельными этапами восстановления.

    Что защищается резервным копированием

    АктивОбычное расположениеПриоритет восстановления
    PostgreSQLкластер DATABASE_URL или Docker-томКритичный — идентификаторы, торговля, контент
    Схема + миграцииdata/schema.sql, data/migrations/*.sqlВ git под контролем версий; повторно применить после “пустого” восстановления
    Blob / объектное хранилищеПровайдер file() — ring_filebase (по умолчанию), vercel_blob, local_storage, или firebase_storage (RingFileBase, Ring CDN)Высокий — изображения товаров, вложения, сгенерированные медиа
    Секреты среды.env.local, секрееты k8s (не в публичном репозитории)Критичный — Auth.js, WayForPay/Stripe, FCM service account
    Redis-кешDocker-том ring-redis-dataНизкий — можно сбросить/пересоздать; сессии сбросятся
    FCM-токеныPostgres JSONB fcm_tokens при использовании postgres-primaryПокрываются резервной копией БД

    Почему бэкап важен для вашего клона

    Ring — это не просто сайт. Postgres хранит статус членства, каталоги продавцов, заказы и платежи, объявления возможностей, рефералов. Потеря базы без точки восстановления = ручная перерегистрация пользователей и сверка платежей.

    Типовые сценарии

    Клон до запуска

    Снимите резервную копию после применения схемы и исходных данных — сможете откатить неудачную миграцию или сбросить стейджинг.

    Мультивендорный маркетплейс

    Заказы и остатки — в Postgres, изображения товаров могут быть в Blob. Бекапьте и то, и другое.

    Менеджмент на Ringdom Hosting

    Пользователи ringdom.org на k8s используют расписания CNPG/MinIO, самостоятельные хостеры сами отвечают за резервные копии.

    PostgreSQL-primary (k8s-postgres-fcm/supabase-fcm)

    Данные проходят через DatabaseService → PostgreSQLAdapter. Бекап = логический дамп базы клона (по одному на клон, например, ring_platform, ring_greenfood_live).

    Логический бэкап (Docker-разработка — описано в data/SCHEMA-README.md)

    1. 1

      Дамп в файл

      Для больших БД в проде лучше использовать “custom format” (для параллельного восстановления и сжатия):

    2. 2

      Восстановление в пустую базу

      Custom format:

    3. 3

      Применение миграций поверх старого дампа

      После восстановления сравните схему с эталонным data/schema.sql и инкрементальными data/migrations/. Используйте Database migrations и применяйте пропущенные миграции до запуска приложения.

    Переменная для нативного psql/pg_dump (без Docker):

    Читайте Конфигурацию окружения по переменным DB_* и файлу env.local.template.

    До опасных миграций

    Перед определёнными миграциями нужен бэкап — например, 013_users_email_unique.sql требует дедупликации (scripts/dedupe-users-by-email.cts, детали в data/migrations/README.md). Всегда делайте дамп перед дедупликацией или скриптами нормализации ролей.

    Объектное хранилище

    Файлы загружаются через выбранный провайдер file() — объекты НЕ лежат в Postgres. Разрешение (): переменные окружения / → → по умолчанию . Задействованы: (по умолчанию) | | | . Бэкапьте объекты отдельно (или принимайте риск потери медиа); см. , .

    Связанная документация

    Related documentation

    Data Model

    Предпосылка: коллекции JSONB присутствуют в дампах Postgres.

    Backend modes and databases

    Подробно: когда владеет данными Postgres, а когда Firestore.

    Docker

    Тот же подход: compose сервисы, тома, health-check.

    Database migrations

    Следующий шаг: порядок применения миграций после восстановления.

    Monitoring & Analytics

    Соответствие и аудит

    Транзакции PaymentConductor (payment_transactions) поддерживают обработку споров — база должна входить в политику хранения.

    Планирование RTO и RPO (ваши метрики)

    Ring Platform не гарантирует фиксированные SLA восстановления в OSS-репозитории. Определяйте для каждого клона:

    • RPO — сколько данных допустимо потерять (например, последний ночной дамп, или почасовые бэкапы).
    • RTO — сколько времени ваш клон может быть “read-only” или офлайн при восстановлении.

    Задокументируйте ответственных за восстановление (оператор или разработчик) и где хранятся дампы (зашифрованное объектное хранилище, off-site).

    Секреты не в базе!

    AUTH_SECRET, ключи WayForPay и сервис-аккаунты Firebase хранятся в среде/Secret-сторах. Экспортируйте их менеджером паролей или workflow sealed-secrets — дампа Postgres недостаточно для восстановления авторизации.

    lib/storage/storage-config.ts
    NEXT_PUBLIC_STORAGE_PROVIDER
    STORAGE_PROVIDER
    ring-config.json
    storage.provider
    ring_filebase
    ring_filebase
    vercel_blob
    local_storage
    firebase_storage
    RingFileBase
    Ring CDN

    Режим firebase-full (устаревший/комьюнити)

    Если DB_BACKEND_MODE=firebase-full, основная бизнес-логика в Firestore (shouldUseFirebaseForDatabase() в lib/database/backend-mode-config.ts). Используйте Google Cloud Firestore export/import в GCS — не команды Postgres. Auth.js может оставаться в Postgres в зависимости от adapter-конфигурации; проверьте это на Архитектура аутентификации.

    Kubernetes / Ringdom Operator

    Публичный OSS-репозиторий не содержит k8s/ manifests (OSS vs enterprise). На управляемых кластерах обычно используется CloudNativePG ScheduledBackup в совместимое с S3 хранилище (например, MinIO). Runbooks операторов хранятся вне этого репозитория; настройте политику хранения копий согласно классу хранилища и требованиям off-site.

    Зона бэкапа — postgres-primary клон

    Минимальная тренировка восстановления

    1. 1

      Восстановите последний дамп в стейджинговую БД (не production).

    2. 2

      Запустите npm run build (или health check) с новым DATABASE_URL.

    3. 3

      Проверьте логин, чтение одной сущности, просмотр списка возможностей и /api/health.

    4. 4

      Запишите возраст дампа, длительность восстановления и пропущенные данные — пересмотрите расписание бэкапа при неудовлетворительном RPO.

    Тот же подход: алертинг при фейле бэкап-джобов.

    Соответствие и аудит

    Транзакции PaymentConductor (payment_transactions) поддерживают обработку споров — база должна входить в политику хранения.

    Планирование RTO и RPO (ваши метрики)

    Ring Platform не гарантирует фиксированные SLA восстановления в OSS-репозитории. Определяйте для каждого клона:

    • RPO — сколько данных допустимо потерять (например, последний ночной дамп, или почасовые бэкапы).
    • RTO — сколько времени ваш клон может быть “read-only” или офлайн при восстановлении.

    Задокументируйте ответственных за восстановление (оператор или разработчик) и где хранятся дампы (зашифрованное объектное хранилище, off-site).

    Секреты не в базе!

    AUTH_SECRET, ключи WayForPay и сервис-аккаунты Firebase хранятся в среде/Secret-сторах. Экспортируйте их менеджером паролей или workflow sealed-secrets — дампа Postgres недостаточно для восстановления авторизации.

    lib/storage/storage-config.ts
    NEXT_PUBLIC_STORAGE_PROVIDER
    STORAGE_PROVIDER
    ring-config.json
    storage.provider
    ring_filebase
    ring_filebase
    vercel_blob
    local_storage
    firebase_storage
    RingFileBase
    Ring CDN

    Режим firebase-full (устаревший/комьюнити)

    Если DB_BACKEND_MODE=firebase-full, основная бизнес-логика в Firestore (shouldUseFirebaseForDatabase() в lib/database/backend-mode-config.ts). Используйте Google Cloud Firestore export/import в GCS — не команды Postgres. Auth.js может оставаться в Postgres в зависимости от adapter-конфигурации; проверьте это на Архитектура аутентификации.

    Kubernetes / Ringdom Operator

    Публичный OSS-репозиторий не содержит k8s/ manifests (OSS vs enterprise). На управляемых кластерах обычно используется CloudNativePG ScheduledBackup в совместимое с S3 хранилище (например, MinIO). Runbooks операторов хранятся вне этого репозитория; настройте политику хранения копий согласно классу хранилища и требованиям off-site.

    Зона бэкапа — postgres-primary клон

    Минимальная тренировка восстановления

    1. 1

      Восстановите последний дамп в стейджинговую БД (не production).

    2. 2

      Запустите npm run build (или health check) с новым DATABASE_URL.

    3. 3

      Проверьте логин, чтение одной сущности, просмотр списка возможностей и /api/health.

    4. 4

      Запишите возраст дампа, длительность восстановления и пропущенные данные — пересмотрите расписание бэкапа при неудовлетворительном RPO.

    Тот же подход: алертинг при фейле бэкап-джобов.

    Соответствие и аудит

    Транзакции PaymentConductor (payment_transactions) поддерживают обработку споров — база должна входить в политику хранения.

    Планирование RTO и RPO (ваши метрики)

    Ring Platform не гарантирует фиксированные SLA восстановления в OSS-репозитории. Определяйте для каждого клона:

    • RPO — сколько данных допустимо потерять (например, последний ночной дамп, или почасовые бэкапы).
    • RTO — сколько времени ваш клон может быть “read-only” или офлайн при восстановлении.

    Задокументируйте ответственных за восстановление (оператор или разработчик) и где хранятся дампы (зашифрованное объектное хранилище, off-site).

    Секреты не в базе!

    AUTH_SECRET, ключи WayForPay и сервис-аккаунты Firebase хранятся в среде/Secret-сторах. Экспортируйте их менеджером паролей или workflow sealed-secrets — дампа Postgres недостаточно для восстановления авторизации.

    lib/storage/storage-config.ts
    NEXT_PUBLIC_STORAGE_PROVIDER
    STORAGE_PROVIDER
    ring-config.json
    storage.provider
    ring_filebase
    ring_filebase
    vercel_blob
    local_storage
    firebase_storage
    RingFileBase
    Ring CDN

    Режим firebase-full (устаревший/комьюнити)

    Если DB_BACKEND_MODE=firebase-full, основная бизнес-логика в Firestore (shouldUseFirebaseForDatabase() в lib/database/backend-mode-config.ts). Используйте Google Cloud Firestore export/import в GCS — не команды Postgres. Auth.js может оставаться в Postgres в зависимости от adapter-конфигурации; проверьте это на Архитектура аутентификации.

    Kubernetes / Ringdom Operator

    Публичный OSS-репозиторий не содержит k8s/ manifests (OSS vs enterprise). На управляемых кластерах обычно используется CloudNativePG ScheduledBackup в совместимое с S3 хранилище (например, MinIO). Runbooks операторов хранятся вне этого репозитория; настройте политику хранения копий согласно классу хранилища и требованиям off-site.

    Зона бэкапа — postgres-primary клон

    Минимальная тренировка восстановления

    1. 1

      Восстановите последний дамп в стейджинговую БД (не production).

    2. 2

      Запустите npm run build (или health check) с новым DATABASE_URL.

    3. 3

      Проверьте логин, чтение одной сущности, просмотр списка возможностей и /api/health.

    4. 4

      Запишите возраст дампа, длительность восстановления и пропущенные данные — пересмотрите расписание бэкапа при неудовлетворительном RPO.

    Тот же подход: алертинг при фейле бэкап-джобов.

    1. Документация
    2. /Развёртывание
    3. /Резервное копирование и восстановление

    Обновлено 22 авг. 2026 г.4 мин прослушивания

    1. Документация
    2. /Развёртывание
    3. /Резервное копирование и восстановление

    Обновлено 22 авг. 2026 г.4 мин прослушивания

    1. Документация
    2. /Развёртывание
    3. /Резервное копирование и восстановление

    Обновлено 22 авг. 2026 г.4 мин прослушивания