ВозможностиОрганизации
Документация
    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 Platform. Это самый быстрый способ увидеть работающий экземпляр после клонирования репозитория.

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

    Node.js 20+, PostgreSQL 16 и Git. Полный перечень требований описан в Руководстве по установке.

    Что вы получаете

    Работающий экземпляр Ring Platform с:

    • PostgreSQL как база данных приложения (режим k8s-postgres-fcm)
    • Auth.js v5 аутентификация с Google OAuth входом
    • Управление сущностями — создание и управление организациями
    • Маркетплейс возможностей — публикация и поиск объявлений
    • Уведомления в реальном времени через WebSocket туннель

    Платформа работает на http://localhost:3000. Для базовой локальной работы не требуются облачные сервисы.

    Дальнейшие шаги после настройки

    После проверки локального экземпляра см. Локальная настройка для white-label кастомизации, флагов функций и расширенной конфигурации. Для продакшн-развертывания см. Конфигурация среды.

    Пошаговая настройка

    Клонирование и установка

    bash
    
    git clone https://github.com/connectplatform/ring.git
    cd ring
    npm install

    Настройка среды

    Скопируйте шаблон и отредактируйте необходимые переменные:

    Как минимум, установите в .env.local:

    Генерация AUTH_SECRET

    Auth.js v5 может сгенерировать секрет автоматически при первом запуске. Или используйте npx auth secret для явной генерации. Подход openssl rand -hex 32 не требуется.

    Полная справка переменных — в Конфигурация среды. Для локальной разработки рекомендуется AUTH_TRUST_HOST=true.

    Настройка базы данных

    Запустите PostgreSQL и создайте базу данных:

    Примените схему и миграции:

    Или используйте скрипт установки, который выполняет настройку базы данных:

    См. Установка > Настройка PostgreSQL для дополнительных вариантов.

    Запуск сервера разработки

    Пользовательский server.ts запускает Next.js 16 с WebSocket туннелем на порту 3000.

    Проверка

    Ожидаемый ответ: {"status":"ok","timestamp":"..."}

    Откройте http://localhost:3000/login для тестирования входа через Google OAuth.

    Ключевые файлы

    ФайлНазначение
    auth.tsКонфигурация Auth.js v5 — провайдеры, колбэки, стратегия JWT сессии
    lib/database/DatabaseService.tsУнифицированная абстракция базы данных (PostgreSQL или Firestore)
    lib/firebase-admin.server.tsFirebase Admin SDK для FCM push (только серверная часть)
    public/firebase-messaging-sw.jsСервис-воркер с Firebase клиентским SDK для push-уведомлений
    lib/tunnel/Транспорт реального времени через WebSocket
    data/schema.sqlСхема PostgreSQL v4
    Нет lib/firebase.ts

    Ring Platform не имеет клиентского файла инициализации lib/firebase.ts. Клиентский Firebase SDK загружается исключительно внутри сервис-воркера (public/firebase-messaging-sw.js) через CDN importScripts(). Клиентского объекта firebaseConfig не существует. Серверный Firebase Admin использует lib/firebase-admin.server.ts с явными учетными данными сервисного аккаунта.

    Технологический стек

    КомпонентВерсия / Провайдер
    FrameworkNext.js 16 App Router
    UIReact 19
    AuthAuth.js v5 (auth() / useSession())
    DatabasePostgreSQL 16 + PostGIS (или Firestore через DB_BACKEND_MODE=firebase-full)
    PushFirebase Cloud Messaging (серверный Admin SDK, клиентский сервис-воркер)
    PaymentsWayForPay (серверная HMAC верификация)
    Localesnext-intl, поддерживаемые языки: en, uk, ru

    Устранение неполадок

    "FETCH_FAILED" или ошибки подключения к базе данных

    Убедитесь, что PostgreSQL запущен и учетные данные в .env.local совпадают:

    Google OAuth не работает

    1. Проверьте Google Cloud Console — добавьте http://localhost:3000 в Authorized JavaScript origins
    2. Добавьте http://localhost:3000/api/auth/callback/google в Authorized redirect URIs
    3. Убедитесь, что AUTH_GOOGLE_ID и AUTH_GOOGLE_SECRET указаны в .env.local

    Ошибки секрета аутентификации

    Убедитесь, что AUTH_SECRET установлен в .env.local. Сгенерируйте с помощью:

    Затем скопируйте результат в AUTH_SECRET.

    Дальнейшие шаги

    • Руководство по установке — полная настройка со скриптом установки и расширенной конфигурацией базы данных
    • Локальная настройка — white-label конфигурация, флаги функций и рабочий процесс разработки
    • Конфигурация среды — справка всех переменных среды
    • Расширенные возможности — AI-матчер, верификация, PaymentConductor и другое
    1. Документация
    2. /Примеры
    3. /Базовая настройка

    Обновлено 28 июн. 2026 г.3 мин прослушивания

    Базовая настройка

    Это руководство описывает минимальную локальную настройку Ring Platform. Это самый быстрый способ увидеть работающий экземпляр после клонирования репозитория.

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

    Node.js 20+, PostgreSQL 16 и Git. Полный перечень требований описан в Руководстве по установке.

    Что вы получаете

    Работающий экземпляр Ring Platform с:

    • PostgreSQL как база данных приложения (режим k8s-postgres-fcm)
    • Auth.js v5 аутентификация с Google OAuth входом
    • Управление сущностями — создание и управление организациями
    • Маркетплейс возможностей — публикация и поиск объявлений
    • Уведомления в реальном времени через WebSocket туннель

    Платформа работает на http://localhost:3000. Для базовой локальной работы не требуются облачные сервисы.

    Дальнейшие шаги после настройки

    После проверки локального экземпляра см. Локальная настройка для white-label кастомизации, флагов функций и расширенной конфигурации. Для продакшн-развертывания см. Конфигурация среды.

    Пошаговая настройка

    Клонирование и установка

    bash
    
    git clone https://github.com/connectplatform/ring.git
    cd ring
    npm install

    Настройка среды

    Скопируйте шаблон и отредактируйте необходимые переменные:

    Как минимум, установите в .env.local:

    Генерация AUTH_SECRET

    Auth.js v5 может сгенерировать секрет автоматически при первом запуске. Или используйте npx auth secret для явной генерации. Подход openssl rand -hex 32 не требуется.

    Полная справка переменных — в Конфигурация среды. Для локальной разработки рекомендуется AUTH_TRUST_HOST=true.

    Настройка базы данных

    Запустите PostgreSQL и создайте базу данных:

    Примените схему и миграции:

    Или используйте скрипт установки, который выполняет настройку базы данных:

    См. Установка > Настройка PostgreSQL для дополнительных вариантов.

    Запуск сервера разработки

    Пользовательский server.ts запускает Next.js 16 с WebSocket туннелем на порту 3000.

    Проверка

    Ожидаемый ответ: {"status":"ok","timestamp":"..."}

    Откройте http://localhost:3000/login для тестирования входа через Google OAuth.

    Ключевые файлы

    ФайлНазначение
    auth.tsКонфигурация Auth.js v5 — провайдеры, колбэки, стратегия JWT сессии
    lib/database/DatabaseService.tsУнифицированная абстракция базы данных (PostgreSQL или Firestore)
    lib/firebase-admin.server.tsFirebase Admin SDK для FCM push (только серверная часть)
    public/firebase-messaging-sw.jsСервис-воркер с Firebase клиентским SDK для push-уведомлений
    lib/tunnel/Транспорт реального времени через WebSocket
    data/schema.sqlСхема PostgreSQL v4
    Нет lib/firebase.ts

    Ring Platform не имеет клиентского файла инициализации lib/firebase.ts. Клиентский Firebase SDK загружается исключительно внутри сервис-воркера (public/firebase-messaging-sw.js) через CDN importScripts(). Клиентского объекта firebaseConfig не существует. Серверный Firebase Admin использует lib/firebase-admin.server.ts с явными учетными данными сервисного аккаунта.

    Технологический стек

    КомпонентВерсия / Провайдер
    FrameworkNext.js 16 App Router
    UIReact 19
    AuthAuth.js v5 (auth() / useSession())
    DatabasePostgreSQL 16 + PostGIS (или Firestore через DB_BACKEND_MODE=firebase-full)
    PushFirebase Cloud Messaging (серверный Admin SDK, клиентский сервис-воркер)
    PaymentsWayForPay (серверная HMAC верификация)
    Localesnext-intl, поддерживаемые языки: en, uk, ru

    Устранение неполадок

    "FETCH_FAILED" или ошибки подключения к базе данных

    Убедитесь, что PostgreSQL запущен и учетные данные в .env.local совпадают:

    Google OAuth не работает

    1. Проверьте Google Cloud Console — добавьте http://localhost:3000 в Authorized JavaScript origins
    2. Добавьте http://localhost:3000/api/auth/callback/google в Authorized redirect URIs
    3. Убедитесь, что AUTH_GOOGLE_ID и AUTH_GOOGLE_SECRET указаны в .env.local

    Ошибки секрета аутентификации

    Убедитесь, что AUTH_SECRET установлен в .env.local. Сгенерируйте с помощью:

    Затем скопируйте результат в AUTH_SECRET.

    Дальнейшие шаги

    • Руководство по установке — полная настройка со скриптом установки и расширенной конфигурацией базы данных
    • Локальная настройка — white-label конфигурация, флаги функций и рабочий процесс разработки
    • Конфигурация среды — справка всех переменных среды
    • Расширенные возможности — AI-матчер, верификация, PaymentConductor и другое
    1. Документация
    2. /Примеры
    3. /Базовая настройка

    Обновлено 28 июн. 2026 г.3 мин прослушивания

    Базовая настройка

    Это руководство описывает минимальную локальную настройку Ring Platform. Это самый быстрый способ увидеть работающий экземпляр после клонирования репозитория.

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

    Node.js 20+, PostgreSQL 16 и Git. Полный перечень требований описан в Руководстве по установке.

    Что вы получаете

    Работающий экземпляр Ring Platform с:

    • PostgreSQL как база данных приложения (режим k8s-postgres-fcm)
    • Auth.js v5 аутентификация с Google OAuth входом
    • Управление сущностями — создание и управление организациями
    • Маркетплейс возможностей — публикация и поиск объявлений
    • Уведомления в реальном времени через WebSocket туннель

    Платформа работает на http://localhost:3000. Для базовой локальной работы не требуются облачные сервисы.

    Дальнейшие шаги после настройки

    После проверки локального экземпляра см. Локальная настройка для white-label кастомизации, флагов функций и расширенной конфигурации. Для продакшн-развертывания см. Конфигурация среды.

    Пошаговая настройка

    Клонирование и установка

    bash
    
    git clone https://github.com/connectplatform/ring.git
    cd ring
    npm install

    Настройка среды

    Скопируйте шаблон и отредактируйте необходимые переменные:

    Как минимум, установите в .env.local:

    Генерация AUTH_SECRET

    Auth.js v5 может сгенерировать секрет автоматически при первом запуске. Или используйте npx auth secret для явной генерации. Подход openssl rand -hex 32 не требуется.

    Полная справка переменных — в Конфигурация среды. Для локальной разработки рекомендуется AUTH_TRUST_HOST=true.

    Настройка базы данных

    Запустите PostgreSQL и создайте базу данных:

    Примените схему и миграции:

    Или используйте скрипт установки, который выполняет настройку базы данных:

    См. Установка > Настройка PostgreSQL для дополнительных вариантов.

    Запуск сервера разработки

    Пользовательский server.ts запускает Next.js 16 с WebSocket туннелем на порту 3000.

    Проверка

    Ожидаемый ответ: {"status":"ok","timestamp":"..."}

    Откройте http://localhost:3000/login для тестирования входа через Google OAuth.

    Ключевые файлы

    ФайлНазначение
    auth.tsКонфигурация Auth.js v5 — провайдеры, колбэки, стратегия JWT сессии
    lib/database/DatabaseService.tsУнифицированная абстракция базы данных (PostgreSQL или Firestore)
    lib/firebase-admin.server.tsFirebase Admin SDK для FCM push (только серверная часть)
    public/firebase-messaging-sw.jsСервис-воркер с Firebase клиентским SDK для push-уведомлений
    lib/tunnel/Транспорт реального времени через WebSocket
    data/schema.sqlСхема PostgreSQL v4
    Нет lib/firebase.ts

    Ring Platform не имеет клиентского файла инициализации lib/firebase.ts. Клиентский Firebase SDK загружается исключительно внутри сервис-воркера (public/firebase-messaging-sw.js) через CDN importScripts(). Клиентского объекта firebaseConfig не существует. Серверный Firebase Admin использует lib/firebase-admin.server.ts с явными учетными данными сервисного аккаунта.

    Технологический стек

    КомпонентВерсия / Провайдер
    FrameworkNext.js 16 App Router
    UIReact 19
    AuthAuth.js v5 (auth() / useSession())
    DatabasePostgreSQL 16 + PostGIS (или Firestore через DB_BACKEND_MODE=firebase-full)
    PushFirebase Cloud Messaging (серверный Admin SDK, клиентский сервис-воркер)
    PaymentsWayForPay (серверная HMAC верификация)
    Localesnext-intl, поддерживаемые языки: en, uk, ru

    Устранение неполадок

    "FETCH_FAILED" или ошибки подключения к базе данных

    Убедитесь, что PostgreSQL запущен и учетные данные в .env.local совпадают:

    Google OAuth не работает

    1. Проверьте Google Cloud Console — добавьте http://localhost:3000 в Authorized JavaScript origins
    2. Добавьте http://localhost:3000/api/auth/callback/google в Authorized redirect URIs
    3. Убедитесь, что AUTH_GOOGLE_ID и AUTH_GOOGLE_SECRET указаны в .env.local

    Ошибки секрета аутентификации

    Убедитесь, что AUTH_SECRET установлен в .env.local. Сгенерируйте с помощью:

    Затем скопируйте результат в AUTH_SECRET.

    Дальнейшие шаги

    • Руководство по установке — полная настройка со скриптом установки и расширенной конфигурацией базы данных
    • Локальная настройка — white-label конфигурация, флаги функций и рабочий процесс разработки
    • Конфигурация среды — справка всех переменных среды
    • Расширенные возможности — AI-матчер, верификация, PaymentConductor и другое
    1. Документация
    2. /Примеры
    3. /Базовая настройка

    Обновлено 28 июн. 2026 г.3 мин прослушивания

    bash
    
    cp env.local.template .env.local
    bash
    
    # Database backend (required)
    DB_BACKEND_MODE=k8s-postgres-fcm
    
    # Auth.js secret (required)
    AUTH_SECRET=your-secret
    
    # Database connection (required for k8s-postgres-fcm)
    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=ring_platform
    DB_USER=ring_user
    DB_PASSWORD=ring_password_2024
    
    # Google OAuth (required for sign-in)
    AUTH_GOOGLE_ID=your-client-id
    AUTH_GOOGLE_SECRET=your-client-secret
    bash
    
    docker run -d --name ring-postgres-dev \
      -e POSTGRES_USER=ring_user \
      -e POSTGRES_PASSWORD=ring_password_2024 \
      -e POSTGRES_DB=ring_platform \
      -p 5432:5432 \
      postgres:16-alpine
    bash
    
    export DATABASE_URL="postgresql://ring_user:ring_password_2024@localhost:5432/ring_platform"
    psql "$DATABASE_URL" -f data/schema.sql
    psql "$DATABASE_URL" -f data/migrations/002_news_content_schema.sql
    psql "$DATABASE_URL" -f data/migrations/003_news_kingdom_upgrade.sql
    psql "$DATABASE_URL" -f data/migrations/004_payment_transactions.sql
    bash
    
    ./install.sh --quick
    bash
    
    npm run dev
    bash
    
    curl http://localhost:3000/api/health
    bash
    
    psql "postgresql://ring_user:ring_password_2024@localhost:5432/ring_platform" -c "SELECT 1"
    bash
    
    npx auth secret
    bash
    
    cp env.local.template .env.local
    bash
    
    # Database backend (required)
    DB_BACKEND_MODE=k8s-postgres-fcm
    
    # Auth.js secret (required)
    AUTH_SECRET=your-secret
    
    # Database connection (required for k8s-postgres-fcm)
    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=ring_platform
    DB_USER=ring_user
    DB_PASSWORD=ring_password_2024
    
    # Google OAuth (required for sign-in)
    AUTH_GOOGLE_ID=your-client-id
    AUTH_GOOGLE_SECRET=your-client-secret
    bash
    
    docker run -d --name ring-postgres-dev \
      -e POSTGRES_USER=ring_user \
      -e POSTGRES_PASSWORD=ring_password_2024 \
      -e POSTGRES_DB=ring_platform \
      -p 5432:5432 \
      postgres:16-alpine
    bash
    
    export DATABASE_URL="postgresql://ring_user:ring_password_2024@localhost:5432/ring_platform"
    psql "$DATABASE_URL" -f data/schema.sql
    psql "$DATABASE_URL" -f data/migrations/002_news_content_schema.sql
    psql "$DATABASE_URL" -f data/migrations/003_news_kingdom_upgrade.sql
    psql "$DATABASE_URL" -f data/migrations/004_payment_transactions.sql
    bash
    
    ./install.sh --quick
    bash
    
    npm run dev
    bash
    
    curl http://localhost:3000/api/health
    bash
    
    psql "postgresql://ring_user:ring_password_2024@localhost:5432/ring_platform" -c "SELECT 1"
    bash
    
    npx auth secret
    bash
    
    cp env.local.template .env.local
    bash
    
    # Database backend (required)
    DB_BACKEND_MODE=k8s-postgres-fcm
    
    # Auth.js secret (required)
    AUTH_SECRET=your-secret
    
    # Database connection (required for k8s-postgres-fcm)
    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=ring_platform
    DB_USER=ring_user
    DB_PASSWORD=ring_password_2024
    
    # Google OAuth (required for sign-in)
    AUTH_GOOGLE_ID=your-client-id
    AUTH_GOOGLE_SECRET=your-client-secret
    bash
    
    docker run -d --name ring-postgres-dev \
      -e POSTGRES_USER=ring_user \
      -e POSTGRES_PASSWORD=ring_password_2024 \
      -e POSTGRES_DB=ring_platform \
      -p 5432:5432 \
      postgres:16-alpine
    bash
    
    export DATABASE_URL="postgresql://ring_user:ring_password_2024@localhost:5432/ring_platform"
    psql "$DATABASE_URL" -f data/schema.sql
    psql "$DATABASE_URL" -f data/migrations/002_news_content_schema.sql
    psql "$DATABASE_URL" -f data/migrations/003_news_kingdom_upgrade.sql
    psql "$DATABASE_URL" -f data/migrations/004_payment_transactions.sql
    bash
    
    ./install.sh --quick
    bash
    
    npm run dev
    bash
    
    curl http://localhost:3000/api/health
    bash
    
    psql "postgresql://ring_user:ring_password_2024@localhost:5432/ring_platform" -c "SELECT 1"
    bash
    
    npx auth secret