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

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

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

    Documentation

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

    Добро пожаловать в Ring
    Краткий справочник
    С чего начать
    Предварительные требования
    Установка
    Первый успех
    Следующие шаги
    Функции
    Store
    Склад и остатки
    Управление вендорами
    Комиссии и расчёты
    SubscriptionConductor
    PaymentConductor
    Интеграция платежей
    Интеграция WayForPay
    Web3 Кошелек
    WalletConductor
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Развёртывание на собственном сервере
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    Архитектура PaymentConductor
    Wallet Conductor
    Архитектура News Kingdom
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server
    OSS и enterprise

    Быстрый вход (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 Кошелек
    WalletConductor
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Развёртывание на собственном сервере
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    Архитектура PaymentConductor
    Wallet Conductor
    Архитектура News Kingdom
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server
    OSS и enterprise

    Быстрый вход (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 Кошелек
    WalletConductor
    Реферальные коды (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкинга Токенов
    Entities
    Opportunities
    AI Matcher
    Real-Time Messaging
    Peer Games
    Модуль Новостей - Цифровой Газетный Опыт
    Блоги участников
    Система Резервирования Имён Пользователей
    Научный редактор
    Notifications
    Push-уведомления через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безопасность и соответствие
    Система локалей
    Мобильный Опыт
    Паттерны Оптимизации Производительности
    Примеры
    Quick Start
    Базовая настройка
    White Label
    Custom Branding
    Интеграция Web3
    Реальные Проекты
    Advanced Features
    Кастомизация
    Быстрый старт — ваш первый клон Ring
    Руководство по кастомизации
    Vertical Presets (SSOT)
    Руководство по Ringization
    Branding
    Темы оформления
    Features
    Localization
    Настройка токеномики
    Интеграция платёжного шлюза
    Референсные деплои Ring
    Конфигурация проекта
    Публичные переменные окружения
    Секреты Order Lab
    Project ID WalletConnect (Reown Cloud)
    Поддерживаемые сервисы
    Вики NODUS (знания проекта)
    Плейбук конфигурации
    Web3
    Token launch jurisdictions
    Кошелёк
    Советы по безопасности кошелька
    Интеграции
    Ethereum-кошельки (Wagmi v3)
    Развёртывание
    Развёртывание на собственном сервере
    Vercel
    Docker
    Конфигурация Окружения
    Мониторинг и аналитика
    Оптимизация производительности
    Резервное копирование и восстановление
    Архитектура
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    Архитектура PaymentConductor
    Wallet Conductor
    Архитектура News Kingdom
    Бекенд Сервисы
    Интеграция Firebase
    Разработка
    Ring MCP Server
    OSS и enterprise

    Быстрый вход (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

    Развёртывание на собственном сервере

    Используйте вкладки Основатель / Разработчик на боковой панели документации, чтобы отфильтровать эту страницу. Шаги ниже сверены со структурой публичного репозитория: ring/install.sh, ring/web/, ring/cli/, ring/scripts/.

    Публичный репозиторий connectplatform/ring (Apache 2.0) содержит всё необходимое, чтобы запустить клон на одном сервере: приложение Next.js в web/, мастер install.sh, сплющенную схему PostgreSQL, файлы Docker и ring CLI. Манифестов Kubernetes, CI-процессов и конвейера сборки Ringdom в нём нет.

    Известная проблема: ./install.sh setup-db и npm run db:apply-schema не работают на свежем публичном checkout. Первая команда ищет web/scripts/setup-clone-db.sh, вторая ищет ring/data/schema.sql, и ни одного из этих путей после переезда в web/ не существует. Примените web/data/schema.sql через psql, как показано в шаге 2 ниже.

    Раньше в документацииТекущий публичный репозиторий
    Запустите scripts/setup-dev.sh, npm run setup:env, scripts/run-migration.shНи одного из этих скриптов в публичном дереве нет. Мастером является ./install.sh (режим dev)
    Примените нумерованные миграцииНовые установки применяют только web/data/schema.sql (сплющенная v4.1.0)
    cli/ игнорируется gitcli/ поставляется публично. См. Ring CLI
    docker compose up поднимает полный стекВ закоммиченном docker-compose.yml нет сервиса Postgres и нет DB_BACKEND_MODE. В docker-compose.template.yml есть и то, и другое

    Выберите способ хостинга

    Обзор развёртывания

    Один Linux-сервер с Node и PostgreSQL: именно этот путь описан на странице. На обзорной странице сравниваются все варианты.

    Docker

    То же приложение в контейнере. Более простые обновления и откаты на любом хосте с Docker.

    Vercel

    Хостинг для Next.js. Сочетайте его с Supabase, собственным PostgreSQL или режимом firebase-full.

    Под управлением Ringdom

    Для поселенцев Ringdom хостинг в Kubernetes, CI и конвейер развёртывания запускают за них.

    Предварительные требования

    • Node.js 20 или новее (проверяет install.sh), npm и git.
    • PostgreSQL 16 (docker-compose.template.yml использует postgres:16-alpine) и клиент psql.
    • openssl, чтобы мастер мог сгенерировать AUTH_SECRET.

    Частые вопросы

    Эксплуатация

    Нужен ли мне Firebase?

    Нет, не в режиме k8s-postgres-fcm. Без NEXT_PUBLIC_FIREBASE_PROJECT_ID приложение пишет предупреждение в журнал и отключает push. Режим firebase-full устроен иначе: он требует ключей AUTH_FIREBASE_*.

    Можно ли обновиться позже, не потеряв свои изменения?

    Да. Используйте ring upgrade для предпросмотра, затем ring upgrade --apply. Команда сливает системные файлы из upstream и никогда не коммитит за вас.

    Известные пробелы

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

    Related documentation

    Environment Configuration

    Подробнее: все переменные окружения, которые читает приложение, сверх минимального набора с этой страницы.

    Backend modes and databases

    Предпосылка: выбор между k8s-postgres-fcm, supabase-fcm и firebase-full.

    Docker

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

    OSS vs enterprise

    См. также: что Ringdom запускает для поселенцев и чего нет в публичном репозитории.

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

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

    Развёртывание на собственном сервере

    Используйте вкладки Основатель / Разработчик на боковой панели документации, чтобы отфильтровать эту страницу. Шаги ниже сверены со структурой публичного репозитория: ring/install.sh, ring/web/, ring/cli/, ring/scripts/.

    Публичный репозиторий connectplatform/ring (Apache 2.0) содержит всё необходимое, чтобы запустить клон на одном сервере: приложение Next.js в web/, мастер install.sh, сплющенную схему PostgreSQL, файлы Docker и ring CLI. Манифестов Kubernetes, CI-процессов и конвейера сборки Ringdom в нём нет.

    Известная проблема: ./install.sh setup-db и npm run db:apply-schema не работают на свежем публичном checkout. Первая команда ищет web/scripts/setup-clone-db.sh, вторая ищет ring/data/schema.sql, и ни одного из этих путей после переезда в web/ не существует. Примените web/data/schema.sql через psql, как показано в шаге 2 ниже.

    Раньше в документацииТекущий публичный репозиторий
    Запустите scripts/setup-dev.sh, npm run setup:env, scripts/run-migration.shНи одного из этих скриптов в публичном дереве нет. Мастером является ./install.sh (режим dev)
    Примените нумерованные миграцииНовые установки применяют только web/data/schema.sql (сплющенная v4.1.0)
    cli/ игнорируется gitcli/ поставляется публично. См. Ring CLI
    docker compose up поднимает полный стекВ закоммиченном docker-compose.yml нет сервиса Postgres и нет DB_BACKEND_MODE. В docker-compose.template.yml есть и то, и другое

    Выберите способ хостинга

    Обзор развёртывания

    Один Linux-сервер с Node и PostgreSQL: именно этот путь описан на странице. На обзорной странице сравниваются все варианты.

    Docker

    То же приложение в контейнере. Более простые обновления и откаты на любом хосте с Docker.

    Vercel

    Хостинг для Next.js. Сочетайте его с Supabase, собственным PostgreSQL или режимом firebase-full.

    Под управлением Ringdom

    Для поселенцев Ringdom хостинг в Kubernetes, CI и конвейер развёртывания запускают за них.

    Предварительные требования

    • Node.js 20 или новее (проверяет install.sh), npm и git.
    • PostgreSQL 16 (docker-compose.template.yml использует postgres:16-alpine) и клиент psql.
    • openssl, чтобы мастер мог сгенерировать AUTH_SECRET.

    Частые вопросы

    Эксплуатация

    Нужен ли мне Firebase?

    Нет, не в режиме k8s-postgres-fcm. Без NEXT_PUBLIC_FIREBASE_PROJECT_ID приложение пишет предупреждение в журнал и отключает push. Режим firebase-full устроен иначе: он требует ключей AUTH_FIREBASE_*.

    Можно ли обновиться позже, не потеряв свои изменения?

    Да. Используйте ring upgrade для предпросмотра, затем ring upgrade --apply. Команда сливает системные файлы из upstream и никогда не коммитит за вас.

    Известные пробелы

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

    Related documentation

    Environment Configuration

    Подробнее: все переменные окружения, которые читает приложение, сверх минимального набора с этой страницы.

    Backend modes and databases

    Предпосылка: выбор между k8s-postgres-fcm, supabase-fcm и firebase-full.

    Docker

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

    OSS vs enterprise

    См. также: что Ringdom запускает для поселенцев и чего нет в публичном репозитории.

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

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

    Развёртывание на собственном сервере

    Используйте вкладки Основатель / Разработчик на боковой панели документации, чтобы отфильтровать эту страницу. Шаги ниже сверены со структурой публичного репозитория: ring/install.sh, ring/web/, ring/cli/, ring/scripts/.

    Публичный репозиторий connectplatform/ring (Apache 2.0) содержит всё необходимое, чтобы запустить клон на одном сервере: приложение Next.js в web/, мастер install.sh, сплющенную схему PostgreSQL, файлы Docker и ring CLI. Манифестов Kubernetes, CI-процессов и конвейера сборки Ringdom в нём нет.

    Известная проблема: ./install.sh setup-db и npm run db:apply-schema не работают на свежем публичном checkout. Первая команда ищет web/scripts/setup-clone-db.sh, вторая ищет ring/data/schema.sql, и ни одного из этих путей после переезда в web/ не существует. Примените web/data/schema.sql через psql, как показано в шаге 2 ниже.

    Раньше в документацииТекущий публичный репозиторий
    Запустите scripts/setup-dev.sh, npm run setup:env, scripts/run-migration.shНи одного из этих скриптов в публичном дереве нет. Мастером является ./install.sh (режим dev)
    Примените нумерованные миграцииНовые установки применяют только web/data/schema.sql (сплющенная v4.1.0)
    cli/ игнорируется gitcli/ поставляется публично. См. Ring CLI
    docker compose up поднимает полный стекВ закоммиченном docker-compose.yml нет сервиса Postgres и нет DB_BACKEND_MODE. В docker-compose.template.yml есть и то, и другое

    Выберите способ хостинга

    Обзор развёртывания

    Один Linux-сервер с Node и PostgreSQL: именно этот путь описан на странице. На обзорной странице сравниваются все варианты.

    Docker

    То же приложение в контейнере. Более простые обновления и откаты на любом хосте с Docker.

    Vercel

    Хостинг для Next.js. Сочетайте его с Supabase, собственным PostgreSQL или режимом firebase-full.

    Под управлением Ringdom

    Для поселенцев Ringdom хостинг в Kubernetes, CI и конвейер развёртывания запускают за них.

    Предварительные требования

    • Node.js 20 или новее (проверяет install.sh), npm и git.
    • PostgreSQL 16 (docker-compose.template.yml использует postgres:16-alpine) и клиент psql.
    • openssl, чтобы мастер мог сгенерировать AUTH_SECRET.

    Частые вопросы

    Эксплуатация

    Нужен ли мне Firebase?

    Нет, не в режиме k8s-postgres-fcm. Без NEXT_PUBLIC_FIREBASE_PROJECT_ID приложение пишет предупреждение в журнал и отключает push. Режим firebase-full устроен иначе: он требует ключей AUTH_FIREBASE_*.

    Можно ли обновиться позже, не потеряв свои изменения?

    Да. Используйте ring upgrade для предпросмотра, затем ring upgrade --apply. Команда сливает системные файлы из upstream и никогда не коммитит за вас.

    Известные пробелы

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

    Related documentation

    Environment Configuration

    Подробнее: все переменные окружения, которые читает приложение, сверх минимального набора с этой страницы.

    Backend modes and databases

    Предпосылка: выбор между k8s-postgres-fcm, supabase-fcm и firebase-full.

    Docker

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

    OSS vs enterprise

    См. также: что Ringdom запускает для поселенцев и чего нет в публичном репозитории.

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

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

    Что нужно до запуска

    1. Домен и TLS перед приложением (например, обратный прокси на порту 443, перенаправляющий на порт 3000).
    2. PostgreSQL 16 с одной базой данных для вашего клона.
    3. Провайдеры входа. Хотя бы один провайдер Auth.js (Google, Apple, Telegram, email) с ключами.
    4. Аккаунт платёжного процессора, если вы что-то продаёте: WayForPay, Stripe или PayPal.
    5. Необязательный проект Firebase для push-уведомлений. Без него push отключён, но приложение всё равно запускается.

    Типичные сценарии

    • Пилотное сообщество. Один небольшой VPS, PostgreSQL на том же сервере, WayForPay для членства.
    • Требование к размещению данных. Всё в вашем собственном дата-центре. За пределы вашей сети выходят только платёжные вызовы и вызовы OAuth.
    • Передача от агентства. Разработчик настраивает клон через install.sh, а затем передаёт вам сервер и секреты из .env.local.
    1. 1

      Клонируйте репозиторий и запустите мастер

      Режим dev проверяет систему, создаёт ring-config.json из ring-config.template.json, если файла нет, выполняет npm install, проводит через настройку Firebase и OAuth и записывает web/.env.local из env.local.template со сгенерированным AUTH_SECRET. Пока отвечайте нет на вопрос о базе данных (см. предупреждение выше).

    2. 2

      Создайте базу данных и примените схему

      Предоставьте роли приложения доступ к схеме public. Не запускайте data/migrations/*.sql на пустой базе данных. Эти файлы уже включены в schema.sql.

    3. 3

      Задайте обязательное окружение

      ПеременнаяЗачем
      DB_BACKEND_MODE=k8s-postgres-fcmОбязательна. PostgreSQL плюс необязательный push через FCM. Кластер не обязательно должен быть Kubernetes
      DB_HOST, DB_NAME, DB_USER, DB_PASSWORDОбязательны в этом режиме (validateBackendModeConfig)
      DB_PORT, DB_SSLВ шаблоне по умолчанию 5432 и false
      AUTH_SECRETШифрование сессий Auth.js
      NEXT_PUBLIC_API_URL, AUTH_URLВаш публичный origin
      PAYMENT_DEFAULT_PROCESSORwayforpay, stripe или paypal
      NEXT_PUBLIC_FIREBASE_PROJECT_IDНеобязательна. Если её нет, push отключён
    4. 4

      Соберите, запустите и проверьте состояние

      npm start запускает собственный server.ts, а не next start. Держите его под менеджером процессов, например systemd. Из корня репозитория npm run build и npm start делегируют выполнение в web/ через scripts/run-web.sh.

    Другие режимы развёртывания в install.sh

    ./install.sh prod предлагает три варианта: Vercel (устанавливает Vercel CLI, выполняет vercel --prod), Ubuntu по SSH и Kubernetes. Вариант Kubernetes применяет k8s/*.yaml только тогда, когда вы сами создали каталог k8s/. Для контейнеров начните с Dockerfile (многоэтапный node:25-alpine, цель runtime, порт 3000) и docker-compose.template.yml.

    Что остаётся приватным

    ПутьПричина
    Манифесты и секреты k8s/Продакшн-топология Ringdom
    Процессы .forgejo/Удаляются из зеркала на GitHub скриптом scripts/push-github-oss.sh
    Order Lab (features/crm/lab, my-orders, my-jobs, маршруты калькулятора)Только в empire-оверлее. Это контролирует scripts/check-no-org-leak.sh

    Что нужно до запуска

    1. Домен и TLS перед приложением (например, обратный прокси на порту 443, перенаправляющий на порт 3000).
    2. PostgreSQL 16 с одной базой данных для вашего клона.
    3. Провайдеры входа. Хотя бы один провайдер Auth.js (Google, Apple, Telegram, email) с ключами.
    4. Аккаунт платёжного процессора, если вы что-то продаёте: WayForPay, Stripe или PayPal.
    5. Необязательный проект Firebase для push-уведомлений. Без него push отключён, но приложение всё равно запускается.

    Типичные сценарии

    • Пилотное сообщество. Один небольшой VPS, PostgreSQL на том же сервере, WayForPay для членства.
    • Требование к размещению данных. Всё в вашем собственном дата-центре. За пределы вашей сети выходят только платёжные вызовы и вызовы OAuth.
    • Передача от агентства. Разработчик настраивает клон через install.sh, а затем передаёт вам сервер и секреты из .env.local.
    1. 1

      Клонируйте репозиторий и запустите мастер

      Режим dev проверяет систему, создаёт ring-config.json из ring-config.template.json, если файла нет, выполняет npm install, проводит через настройку Firebase и OAuth и записывает web/.env.local из env.local.template со сгенерированным AUTH_SECRET. Пока отвечайте нет на вопрос о базе данных (см. предупреждение выше).

    2. 2

      Создайте базу данных и примените схему

      Предоставьте роли приложения доступ к схеме public. Не запускайте data/migrations/*.sql на пустой базе данных. Эти файлы уже включены в schema.sql.

    3. 3

      Задайте обязательное окружение

      ПеременнаяЗачем
      DB_BACKEND_MODE=k8s-postgres-fcmОбязательна. PostgreSQL плюс необязательный push через FCM. Кластер не обязательно должен быть Kubernetes
      DB_HOST, DB_NAME, DB_USER, DB_PASSWORDОбязательны в этом режиме (validateBackendModeConfig)
      DB_PORT, DB_SSLВ шаблоне по умолчанию 5432 и false
      AUTH_SECRETШифрование сессий Auth.js
      NEXT_PUBLIC_API_URL, AUTH_URLВаш публичный origin
      PAYMENT_DEFAULT_PROCESSORwayforpay, stripe или paypal
      NEXT_PUBLIC_FIREBASE_PROJECT_IDНеобязательна. Если её нет, push отключён
    4. 4

      Соберите, запустите и проверьте состояние

      npm start запускает собственный server.ts, а не next start. Держите его под менеджером процессов, например systemd. Из корня репозитория npm run build и npm start делегируют выполнение в web/ через scripts/run-web.sh.

    Другие режимы развёртывания в install.sh

    ./install.sh prod предлагает три варианта: Vercel (устанавливает Vercel CLI, выполняет vercel --prod), Ubuntu по SSH и Kubernetes. Вариант Kubernetes применяет k8s/*.yaml только тогда, когда вы сами создали каталог k8s/. Для контейнеров начните с Dockerfile (многоэтапный node:25-alpine, цель runtime, порт 3000) и docker-compose.template.yml.

    Что остаётся приватным

    ПутьПричина
    Манифесты и секреты k8s/Продакшн-топология Ringdom
    Процессы .forgejo/Удаляются из зеркала на GitHub скриптом scripts/push-github-oss.sh
    Order Lab (features/crm/lab, my-orders, my-jobs, маршруты калькулятора)Только в empire-оверлее. Это контролирует scripts/check-no-org-leak.sh

    Что нужно до запуска

    1. Домен и TLS перед приложением (например, обратный прокси на порту 443, перенаправляющий на порт 3000).
    2. PostgreSQL 16 с одной базой данных для вашего клона.
    3. Провайдеры входа. Хотя бы один провайдер Auth.js (Google, Apple, Telegram, email) с ключами.
    4. Аккаунт платёжного процессора, если вы что-то продаёте: WayForPay, Stripe или PayPal.
    5. Необязательный проект Firebase для push-уведомлений. Без него push отключён, но приложение всё равно запускается.

    Типичные сценарии

    • Пилотное сообщество. Один небольшой VPS, PostgreSQL на том же сервере, WayForPay для членства.
    • Требование к размещению данных. Всё в вашем собственном дата-центре. За пределы вашей сети выходят только платёжные вызовы и вызовы OAuth.
    • Передача от агентства. Разработчик настраивает клон через install.sh, а затем передаёт вам сервер и секреты из .env.local.
    1. 1

      Клонируйте репозиторий и запустите мастер

      Режим dev проверяет систему, создаёт ring-config.json из ring-config.template.json, если файла нет, выполняет npm install, проводит через настройку Firebase и OAuth и записывает web/.env.local из env.local.template со сгенерированным AUTH_SECRET. Пока отвечайте нет на вопрос о базе данных (см. предупреждение выше).

    2. 2

      Создайте базу данных и примените схему

      Предоставьте роли приложения доступ к схеме public. Не запускайте data/migrations/*.sql на пустой базе данных. Эти файлы уже включены в schema.sql.

    3. 3

      Задайте обязательное окружение

      ПеременнаяЗачем
      DB_BACKEND_MODE=k8s-postgres-fcmОбязательна. PostgreSQL плюс необязательный push через FCM. Кластер не обязательно должен быть Kubernetes
      DB_HOST, DB_NAME, DB_USER, DB_PASSWORDОбязательны в этом режиме (validateBackendModeConfig)
      DB_PORT, DB_SSLВ шаблоне по умолчанию 5432 и false
      AUTH_SECRETШифрование сессий Auth.js
      NEXT_PUBLIC_API_URL, AUTH_URLВаш публичный origin
      PAYMENT_DEFAULT_PROCESSORwayforpay, stripe или paypal
      NEXT_PUBLIC_FIREBASE_PROJECT_IDНеобязательна. Если её нет, push отключён
    4. 4

      Соберите, запустите и проверьте состояние

      npm start запускает собственный server.ts, а не next start. Держите его под менеджером процессов, например systemd. Из корня репозитория npm run build и npm start делегируют выполнение в web/ через scripts/run-web.sh.

    Другие режимы развёртывания в install.sh

    ./install.sh prod предлагает три варианта: Vercel (устанавливает Vercel CLI, выполняет vercel --prod), Ubuntu по SSH и Kubernetes. Вариант Kubernetes применяет k8s/*.yaml только тогда, когда вы сами создали каталог k8s/. Для контейнеров начните с Dockerfile (многоэтапный node:25-alpine, цель runtime, порт 3000) и docker-compose.template.yml.

    Что остаётся приватным

    ПутьПричина
    Манифесты и секреты k8s/Продакшн-топология Ringdom
    Процессы .forgejo/Удаляются из зеркала на GitHub скриптом scripts/push-github-oss.sh
    Order Lab (features/crm/lab, my-orders, my-jobs, маршруты калькулятора)Только в empire-оверлее. Это контролирует scripts/check-no-org-leak.sh