Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    SubscriptionConductor
    PaymentConductor
    Інтеграція платежів
    Інтеграція WayForPay
    Web3 Гаманець
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкінга Токенів
    Сутності
    Можливості
    Повідомлення
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безпека та відповідність
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Білий лейбл
    Інтеграція Web3
    Реальні приклади
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Web3
    Token launch jurisdictions
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та аналітика
    Оптимізація продуктивності
    Резервне копіювання та відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Архітектура PaymentConductor
    Розробка
    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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    SubscriptionConductor
    PaymentConductor
    Інтеграція платежів
    Інтеграція WayForPay
    Web3 Гаманець
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкінга Токенів
    Сутності
    Можливості
    Повідомлення
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безпека та відповідність
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Білий лейбл
    Інтеграція Web3
    Реальні приклади
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Web3
    Token launch jurisdictions
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та аналітика
    Оптимізація продуктивності
    Резервне копіювання та відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Архітектура PaymentConductor
    Розробка
    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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    SubscriptionConductor
    PaymentConductor
    Інтеграція платежів
    Інтеграція WayForPay
    Web3 Гаманець
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Система Стейкінга Токенів
    Сутності
    Можливості
    Повідомлення
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Протокол Tunnel
    Authentication
    Безпека та відповідність
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Білий лейбл
    Інтеграція Web3
    Реальні приклади
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Web3
    Token launch jurisdictions
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та аналітика
    Оптимізація продуктивності
    Резервне копіювання та відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Архітектура PaymentConductor
    Розробка
    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)
    1. Документація
    2. /Приклади
    3. /Базове налаштування

    Оновлено 28 черв. 2026 р.3 хв прослуховування

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Документація
    2. /Приклади
    3. /Базове налаштування

    Оновлено 28 черв. 2026 р.3 хв прослуховування

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Документація
    2. /Приклади
    3. /Базове налаштування

    Оновлено 28 черв. 2026 р.3 хв прослуховування

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    Базове налаштування

    Цей посібник описує мінімальне локальне налаштування 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 та інше

    Базове налаштування

    Цей посібник описує мінімальне локальне налаштування 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 та інше

    Базове налаштування

    Цей посібник описує мінімальне локальне налаштування 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 та інше
    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