МожливостіСутності
Документація
    Ring Platform

    Децентралізоване самобудівне майбутнє

    Увійти
    Сутності
    Можливості
    Магазин
    Документація
    Концепції
    RING ЕкономікаSonoratek LLCГлобальний впливAI зустрічає Web3
    Розпочати
    Швидкий стартКалькуляторДорожня карта
    Конфіденційність|Контакти
    v1.104.17|Sonoratek LLC

    Documentation

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

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Бекенд Сервіси
    Інтеграція 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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Бекенд Сервіси
    Інтеграція 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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Self-hosted розгортання
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Бекенд Сервіси
    Інтеграція 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

    Конфігурація Середовища

    Ця сторінка є канонічним довідником для кожної змінної середовища, яку використовує Ring Platform. Джерелом правди є env.local.template у корені репозиторію — коли сумніваєтеся, звертайтеся до цього файлу. Використовуйте вкладки Засновник / Розробник у бічній панелі для фільтрації за аудиторією.

    DB_BACKEND_MODE (обов'язково)

    Ring Platform потребує DB_BACKEND_MODE під час виконання. Він визначає, який адаптер бази даних активний і як налаштовані FCM push сповіщення.

    ЗначенняБаза даних додаткуFirebase Admin для Firestore?Push
    k8s-postgres-fcmPostgreSQL (ваш кластер)Ні — mock FirestoreFCM через Firebase Admin messaging
    firebase-fullFirestoreТакFCM як частина повного стеку Firebase
    supabase-fcmSupabase PostgreSQLНі — mock FirestoreFCM через Firebase Admin messaging

    Див. Режими бекенду та бази даних для глибокого порівняння.

    Firebase: коли це потрібно?

    Ваш Ring клон може потребувати облікових даних Firebase у двох контекстах:

    1. Push сповіщення (FCM) — потрібно у всіх трьох значеннях DB_BACKEND_MODE, якщо ви хочете доставку push. Firebase використовується як транспорт FCM; ваші дані додатку залишаються в PostgreSQL.
    2. Повний Firestore бекенд — лише коли DB_BACKEND_MODE=firebase-full. У цьому режимі Firebase Admin SDK служить основною базою даних.

    Якщо вам не потрібні push сповіщення, ви можете пропустити всі змінні середовища Firebase. Платформа працює на PostgreSQL самостійно.

    Firebase Admin SDK v14 використовує Application Default Credentials (ADC) у FirebaseAdapter (рівень абстракції бази даних). Для шляху FCM/auth (firebase-admin.server.ts) явні облікові дані сервісного акаунту через AUTH_FIREBASE_CLIENT_EMAIL + AUTH_FIREBASE_PRIVATE_KEY все ще потрібні, коли ADC не налаштовано.

    У продакшені (Cloud Run, Cloud Functions, GKE) ADC автоматично визначає облікові дані з середовища. Вам потрібен лише AUTH_FIREBASE_PROJECT_ID. У локальній розробці або CI надайте повний набір ключів сервісного акаунту.

    Бекенд бази даних

    Канонічна dev настройка використовує ring-postgres-dev (postgres:16-alpine). Див. docker-compose.dev.yml.

    Firebase Admin SDK (серверна частина)

    • lib/firebase-admin.server.ts (FCM + Auth шлях): завжди потребує AUTH_FIREBASE_PROJECT_ID. Коли AUTH_FIREBASE_CLIENT_EMAIL та AUTH_FIREBASE_PRIVATE_KEY присутні, використовує явний cert(). Відкочується до ADC якщо вони відсутні.
    • lib/database/adapters/FirebaseAdapter.ts (абстракція бази даних): використовує ADC спочатку. Якщо credentials.clientEmail і credentials.privateKey є в конфігурації бекенду, відкочується до явного cert(). Цей шлях активний лише в режимі firebase-full.

    На Cloud Run / Cloud Functions / GKE: встановіть лише AUTH_FIREBASE_PROJECT_ID. SDK автоматично визначає облікові дані через ADC. У локальній розробці: встановіть AUTH_FIREBASE_CLIENT_EMAIL та AUTH_FIREBASE_PRIVATE_KEY з вашого JSON ключа сервісного акаунту.

    Firebase Client SDK (браузерна частина)

    Потрібно коли ваш Ring клон використовує Firebase для клієнтських функцій (реєстрація FCM push токенів, FirebaseUI auth):

    Отримайте їх з Firebase Console → Project Settings → General → Web apps.

    Провайдери аутентифікації

    Auth.js v5 читає змінні з префіксом AUTH_* автоматично для кожного провайдера. Див. Архітектура аутентифікації.

    Платежі (PaymentConductor)

    Пов'язана документація

    Режими бекенду та бази даних

    Вибір бази даних

    Аутентифікація

    Docker розгортання

    Конфігурація Середовища

    Ця сторінка є канонічним довідником для кожної змінної середовища, яку використовує Ring Platform. Джерелом правди є env.local.template у корені репозиторію — коли сумніваєтеся, звертайтеся до цього файлу. Використовуйте вкладки Засновник / Розробник у бічній панелі для фільтрації за аудиторією.

    DB_BACKEND_MODE (обов'язково)

    Ring Platform потребує DB_BACKEND_MODE під час виконання. Він визначає, який адаптер бази даних активний і як налаштовані FCM push сповіщення.

    ЗначенняБаза даних додаткуFirebase Admin для Firestore?Push
    k8s-postgres-fcmPostgreSQL (ваш кластер)Ні — mock FirestoreFCM через Firebase Admin messaging
    firebase-fullFirestoreТакFCM як частина повного стеку Firebase
    supabase-fcmSupabase PostgreSQLНі — mock FirestoreFCM через Firebase Admin messaging

    Див. Режими бекенду та бази даних для глибокого порівняння.

    Firebase: коли це потрібно?

    Ваш Ring клон може потребувати облікових даних Firebase у двох контекстах:

    1. Push сповіщення (FCM) — потрібно у всіх трьох значеннях DB_BACKEND_MODE, якщо ви хочете доставку push. Firebase використовується як транспорт FCM; ваші дані додатку залишаються в PostgreSQL.
    2. Повний Firestore бекенд — лише коли DB_BACKEND_MODE=firebase-full. У цьому режимі Firebase Admin SDK служить основною базою даних.

    Якщо вам не потрібні push сповіщення, ви можете пропустити всі змінні середовища Firebase. Платформа працює на PostgreSQL самостійно.

    Firebase Admin SDK v14 використовує Application Default Credentials (ADC) у FirebaseAdapter (рівень абстракції бази даних). Для шляху FCM/auth (firebase-admin.server.ts) явні облікові дані сервісного акаунту через AUTH_FIREBASE_CLIENT_EMAIL + AUTH_FIREBASE_PRIVATE_KEY все ще потрібні, коли ADC не налаштовано.

    У продакшені (Cloud Run, Cloud Functions, GKE) ADC автоматично визначає облікові дані з середовища. Вам потрібен лише AUTH_FIREBASE_PROJECT_ID. У локальній розробці або CI надайте повний набір ключів сервісного акаунту.

    Бекенд бази даних

    Канонічна dev настройка використовує ring-postgres-dev (postgres:16-alpine). Див. docker-compose.dev.yml.

    Firebase Admin SDK (серверна частина)

    • lib/firebase-admin.server.ts (FCM + Auth шлях): завжди потребує AUTH_FIREBASE_PROJECT_ID. Коли AUTH_FIREBASE_CLIENT_EMAIL та AUTH_FIREBASE_PRIVATE_KEY присутні, використовує явний cert(). Відкочується до ADC якщо вони відсутні.
    • lib/database/adapters/FirebaseAdapter.ts (абстракція бази даних): використовує ADC спочатку. Якщо credentials.clientEmail і credentials.privateKey є в конфігурації бекенду, відкочується до явного cert(). Цей шлях активний лише в режимі firebase-full.

    На Cloud Run / Cloud Functions / GKE: встановіть лише AUTH_FIREBASE_PROJECT_ID. SDK автоматично визначає облікові дані через ADC. У локальній розробці: встановіть AUTH_FIREBASE_CLIENT_EMAIL та AUTH_FIREBASE_PRIVATE_KEY з вашого JSON ключа сервісного акаунту.

    Firebase Client SDK (браузерна частина)

    Потрібно коли ваш Ring клон використовує Firebase для клієнтських функцій (реєстрація FCM push токенів, FirebaseUI auth):

    Отримайте їх з Firebase Console → Project Settings → General → Web apps.

    Провайдери аутентифікації

    Auth.js v5 читає змінні з префіксом AUTH_* автоматично для кожного провайдера. Див. Архітектура аутентифікації.

    Платежі (PaymentConductor)

    Пов'язана документація

    Режими бекенду та бази даних

    Вибір бази даних

    Аутентифікація

    Docker розгортання

    Конфігурація Середовища

    Ця сторінка є канонічним довідником для кожної змінної середовища, яку використовує Ring Platform. Джерелом правди є env.local.template у корені репозиторію — коли сумніваєтеся, звертайтеся до цього файлу. Використовуйте вкладки Засновник / Розробник у бічній панелі для фільтрації за аудиторією.

    DB_BACKEND_MODE (обов'язково)

    Ring Platform потребує DB_BACKEND_MODE під час виконання. Він визначає, який адаптер бази даних активний і як налаштовані FCM push сповіщення.

    ЗначенняБаза даних додаткуFirebase Admin для Firestore?Push
    k8s-postgres-fcmPostgreSQL (ваш кластер)Ні — mock FirestoreFCM через Firebase Admin messaging
    firebase-fullFirestoreТакFCM як частина повного стеку Firebase
    supabase-fcmSupabase PostgreSQLНі — mock FirestoreFCM через Firebase Admin messaging

    Див. Режими бекенду та бази даних для глибокого порівняння.

    Firebase: коли це потрібно?

    Ваш Ring клон може потребувати облікових даних Firebase у двох контекстах:

    1. Push сповіщення (FCM) — потрібно у всіх трьох значеннях DB_BACKEND_MODE, якщо ви хочете доставку push. Firebase використовується як транспорт FCM; ваші дані додатку залишаються в PostgreSQL.
    2. Повний Firestore бекенд — лише коли DB_BACKEND_MODE=firebase-full. У цьому режимі Firebase Admin SDK служить основною базою даних.

    Якщо вам не потрібні push сповіщення, ви можете пропустити всі змінні середовища Firebase. Платформа працює на PostgreSQL самостійно.

    Firebase Admin SDK v14 використовує Application Default Credentials (ADC) у FirebaseAdapter (рівень абстракції бази даних). Для шляху FCM/auth (firebase-admin.server.ts) явні облікові дані сервісного акаунту через AUTH_FIREBASE_CLIENT_EMAIL + AUTH_FIREBASE_PRIVATE_KEY все ще потрібні, коли ADC не налаштовано.

    У продакшені (Cloud Run, Cloud Functions, GKE) ADC автоматично визначає облікові дані з середовища. Вам потрібен лише AUTH_FIREBASE_PROJECT_ID. У локальній розробці або CI надайте повний набір ключів сервісного акаунту.

    Бекенд бази даних

    Канонічна dev настройка використовує ring-postgres-dev (postgres:16-alpine). Див. docker-compose.dev.yml.

    Firebase Admin SDK (серверна частина)

    • lib/firebase-admin.server.ts (FCM + Auth шлях): завжди потребує AUTH_FIREBASE_PROJECT_ID. Коли AUTH_FIREBASE_CLIENT_EMAIL та AUTH_FIREBASE_PRIVATE_KEY присутні, використовує явний cert(). Відкочується до ADC якщо вони відсутні.
    • lib/database/adapters/FirebaseAdapter.ts (абстракція бази даних): використовує ADC спочатку. Якщо credentials.clientEmail і credentials.privateKey є в конфігурації бекенду, відкочується до явного cert(). Цей шлях активний лише в режимі firebase-full.

    На Cloud Run / Cloud Functions / GKE: встановіть лише AUTH_FIREBASE_PROJECT_ID. SDK автоматично визначає облікові дані через ADC. У локальній розробці: встановіть AUTH_FIREBASE_CLIENT_EMAIL та AUTH_FIREBASE_PRIVATE_KEY з вашого JSON ключа сервісного акаунту.

    Firebase Client SDK (браузерна частина)

    Потрібно коли ваш Ring клон використовує Firebase для клієнтських функцій (реєстрація FCM push токенів, FirebaseUI auth):

    Отримайте їх з Firebase Console → Project Settings → General → Web apps.

    Провайдери аутентифікації

    Auth.js v5 читає змінні з префіксом AUTH_* автоматично для кожного провайдера. Див. Архітектура аутентифікації.

    Платежі (PaymentConductor)

    Пов'язана документація

    Режими бекенду та бази даних

    Вибір бази даних

    Аутентифікація

    Docker розгортання

    Застосуйте data/migrations/004_payment_transactions.sql перед продакшн платежами.

    Локалі

    Див. lib/locale-config.ts. Підтримувані локалі: en, uk, ru.

    Генеративні кондуктори (xAI Grok)

    Префікси за призначенням:

    • IMAGE_GEN_* / XAI_IMAGE_* — ImageConductor
    • TEXT_GEN_* / XAI_TEXT_* — TextConductor (цитовані статті)
    • TTS_* / XAI_TTS_* — AudioConductor (озвучення)
    • NEWS_AUTOGEN_* — стандартні налаштування новинної редакції

    Потребує FILE_BACKEND=ringbase з RINGBASE_API_URL та RINGBASE_API_TOKEN для CDN завантажень.

    Ring Tunnel (реальний час)

    Функціональні прапорці

    Платформа

    Опціонально — Email AI-CRM, CRON, резервне копіювання

    Див. env.local.template для повного коментованого довідника. Ключові опціональні блоки:

    Ніколи не комітьте реальні секрети в Git. Файл env.local.template використовує значення-заповнювачі. Скопіюйте його в .env.local (gitignored) і заповніть своїми продакшн значеннями. Використовуйте K8s секрети або сховище секретів вашої системи розгортання для продакшну.

    bash
    
    # Обов'язково — вибирає адаптер бази даних + FCM підключення
    DB_BACKEND_MODE=k8s-postgres-fcm
    
    # PostgreSQL підключення (обов'язково для k8s-postgres-fcm та supabase-fcm)
    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=ring_platform
    DB_USER=ring_user
    DB_PASSWORD=ring_password_2024
    DB_POOL_SIZE=20
    DB_TIMEOUT=30000
    DB_RETRIES=3
    DB_SSL=false
    bash
    
    # Мінімум для FCM-тільки використання:
    AUTH_FIREBASE_PROJECT_ID=your_firebase_project_id
    
    # Потрібно коли ADC не налаштовано (локальна розробка / CI):
    AUTH_FIREBASE_CLIENT_EMAIL=your_firebase_client_email
    AUTH_FIREBASE_PRIVATE_KEY="your_firebase_private_key"
    
    # Опціонально
    FIREBASE_DATABASE_URL=https://your-project-default-rtdb.firebaseio.com
    FIREBASE_PRIVATE_KEY_ID=your_firebase_private_key_id
    FIREBASE_CLIENT_ID="your_firebase_client_id"
    FIREBASE_FIRESTORE_DEBUG=true
    bash
    
    NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
    NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
    NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=G-YCZKPV315E
    NEXT_PUBLIC_FIREBASE_VAPID_KEY=your_vapid_key
    bash
    
    # Auth.js core
    AUTH_SECRET=your_auth_secret
    AUTH_TRUST_HOST=true
    
    # Google OAuth (обов'язково для входу через Google)
    AUTH_GOOGLE_ID=your_google_client_id
    AUTH_GOOGLE_SECRET=your_google_client_secret
    
    # Apple Sign-In (обов'язково для входу через Apple)
    AUTH_APPLE_ID=your_apple_client_id
    AUTH_APPLE_SECRET=your_apple_private_key
    
    # Magic links (опціонально — використовує Resend)
    # Ring Mailer: EMAIL_MODE=ethereal or SMTP_HOST / SMTP_USER / SMTP_PASSWORD
    # OTP_HMAC_SECRET=

    Застосуйте data/migrations/004_payment_transactions.sql перед продакшн платежами.

    Локалі

    Див. lib/locale-config.ts. Підтримувані локалі: en, uk, ru.

    Генеративні кондуктори (xAI Grok)

    Префікси за призначенням:

    • IMAGE_GEN_* / XAI_IMAGE_* — ImageConductor
    • TEXT_GEN_* / XAI_TEXT_* — TextConductor (цитовані статті)
    • TTS_* / XAI_TTS_* — AudioConductor (озвучення)
    • NEWS_AUTOGEN_* — стандартні налаштування новинної редакції

    Потребує FILE_BACKEND=ringbase з RINGBASE_API_URL та RINGBASE_API_TOKEN для CDN завантажень.

    Ring Tunnel (реальний час)

    Функціональні прапорці

    Платформа

    Опціонально — Email AI-CRM, CRON, резервне копіювання

    Див. env.local.template для повного коментованого довідника. Ключові опціональні блоки:

    Ніколи не комітьте реальні секрети в Git. Файл env.local.template використовує значення-заповнювачі. Скопіюйте його в .env.local (gitignored) і заповніть своїми продакшн значеннями. Використовуйте K8s секрети або сховище секретів вашої системи розгортання для продакшну.

    bash
    
    # Обов'язково — вибирає адаптер бази даних + FCM підключення
    DB_BACKEND_MODE=k8s-postgres-fcm
    
    # PostgreSQL підключення (обов'язково для k8s-postgres-fcm та supabase-fcm)
    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=ring_platform
    DB_USER=ring_user
    DB_PASSWORD=ring_password_2024
    DB_POOL_SIZE=20
    DB_TIMEOUT=30000
    DB_RETRIES=3
    DB_SSL=false
    bash
    
    # Мінімум для FCM-тільки використання:
    AUTH_FIREBASE_PROJECT_ID=your_firebase_project_id
    
    # Потрібно коли ADC не налаштовано (локальна розробка / CI):
    AUTH_FIREBASE_CLIENT_EMAIL=your_firebase_client_email
    AUTH_FIREBASE_PRIVATE_KEY="your_firebase_private_key"
    
    # Опціонально
    FIREBASE_DATABASE_URL=https://your-project-default-rtdb.firebaseio.com
    FIREBASE_PRIVATE_KEY_ID=your_firebase_private_key_id
    FIREBASE_CLIENT_ID="your_firebase_client_id"
    FIREBASE_FIRESTORE_DEBUG=true
    bash
    
    NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
    NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
    NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=G-YCZKPV315E
    NEXT_PUBLIC_FIREBASE_VAPID_KEY=your_vapid_key
    bash
    
    # Auth.js core
    AUTH_SECRET=your_auth_secret
    AUTH_TRUST_HOST=true
    
    # Google OAuth (обов'язково для входу через Google)
    AUTH_GOOGLE_ID=your_google_client_id
    AUTH_GOOGLE_SECRET=your_google_client_secret
    
    # Apple Sign-In (обов'язково для входу через Apple)
    AUTH_APPLE_ID=your_apple_client_id
    AUTH_APPLE_SECRET=your_apple_private_key
    
    # Magic links (опціонально — використовує Resend)
    # Ring Mailer: EMAIL_MODE=ethereal or SMTP_HOST / SMTP_USER / SMTP_PASSWORD
    # OTP_HMAC_SECRET=

    Застосуйте data/migrations/004_payment_transactions.sql перед продакшн платежами.

    Локалі

    Див. lib/locale-config.ts. Підтримувані локалі: en, uk, ru.

    Генеративні кондуктори (xAI Grok)

    Префікси за призначенням:

    • IMAGE_GEN_* / XAI_IMAGE_* — ImageConductor
    • TEXT_GEN_* / XAI_TEXT_* — TextConductor (цитовані статті)
    • TTS_* / XAI_TTS_* — AudioConductor (озвучення)
    • NEWS_AUTOGEN_* — стандартні налаштування новинної редакції

    Потребує FILE_BACKEND=ringbase з RINGBASE_API_URL та RINGBASE_API_TOKEN для CDN завантажень.

    Ring Tunnel (реальний час)

    Функціональні прапорці

    Платформа

    Опціонально — Email AI-CRM, CRON, резервне копіювання

    Див. env.local.template для повного коментованого довідника. Ключові опціональні блоки:

    Ніколи не комітьте реальні секрети в Git. Файл env.local.template використовує значення-заповнювачі. Скопіюйте його в .env.local (gitignored) і заповніть своїми продакшн значеннями. Використовуйте K8s секрети або сховище секретів вашої системи розгортання для продакшну.

    bash
    
    # Обов'язково — вибирає адаптер бази даних + FCM підключення
    DB_BACKEND_MODE=k8s-postgres-fcm
    
    # PostgreSQL підключення (обов'язково для k8s-postgres-fcm та supabase-fcm)
    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=ring_platform
    DB_USER=ring_user
    DB_PASSWORD=ring_password_2024
    DB_POOL_SIZE=20
    DB_TIMEOUT=30000
    DB_RETRIES=3
    DB_SSL=false
    bash
    
    # Мінімум для FCM-тільки використання:
    AUTH_FIREBASE_PROJECT_ID=your_firebase_project_id
    
    # Потрібно коли ADC не налаштовано (локальна розробка / CI):
    AUTH_FIREBASE_CLIENT_EMAIL=your_firebase_client_email
    AUTH_FIREBASE_PRIVATE_KEY="your_firebase_private_key"
    
    # Опціонально
    FIREBASE_DATABASE_URL=https://your-project-default-rtdb.firebaseio.com
    FIREBASE_PRIVATE_KEY_ID=your_firebase_private_key_id
    FIREBASE_CLIENT_ID="your_firebase_client_id"
    FIREBASE_FIRESTORE_DEBUG=true
    bash
    
    NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
    NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
    NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=G-YCZKPV315E
    NEXT_PUBLIC_FIREBASE_VAPID_KEY=your_vapid_key
    bash
    
    # Auth.js core
    AUTH_SECRET=your_auth_secret
    AUTH_TRUST_HOST=true
    
    # Google OAuth (обов'язково для входу через Google)
    AUTH_GOOGLE_ID=your_google_client_id
    AUTH_GOOGLE_SECRET=your_google_client_secret
    
    # Apple Sign-In (обов'язково для входу через Apple)
    AUTH_APPLE_ID=your_apple_client_id
    AUTH_APPLE_SECRET=your_apple_private_key
    
    # Magic links (опціонально — використовує Resend)
    # Ring Mailer: EMAIL_MODE=ethereal or SMTP_HOST / SMTP_USER / SMTP_PASSWORD
    # OTP_HMAC_SECRET=
    bash
    
    # Процесор за замовчуванням
    PAYMENT_DEFAULT_PROCESSOR=wayforpay
    
    # Перевизначення за призначенням (опціонально)
    PAYMENT_STORE_PROCESSOR=wayforpay
    PAYMENT_MEMBERSHIP_PROCESSOR=wayforpay
    PAYMENT_NEWS_PROCESSOR=wayforpay
    
    # WayForPay
    WAYFORPAY_MERCHANT_ACCOUNT=your_merchant
    WAYFORPAY_SECRET_KEY=your_secret
    
    # Stripe (альтернатива)
    STRIPE_SECRET_KEY=sk_live_...
    STRIPE_WEBHOOK_SECRET=whsec_...
    PAYMENT_FIAT_CURRENCY=UAH
    bash
    
    NEXT_PUBLIC_SUPPORTED_LOCALES=en,uk,ru
    NEXT_PUBLIC_DEFAULT_LOCALE=en
    bash
    
    XAI_API_KEY=your_xai_key
    XAI_API_BASE_URL=https://api.x.ai/v1
    bash
    
    # vercel | k8s | self-hosted
    RING_DEPLOY_TARGET=self-hosted
    NEXT_PUBLIC_RING_DEPLOY_TARGET=self-hosted
    
    # Опціональна явна WS URL (за замовчуванням: той самий хост /api/tunnel/ws)
    # NEXT_PUBLIC_TUNNEL_WS_URL=wss://ring-platform.org/api/tunnel/ws
    bash
    
    FEATURE_DOCUMENTATION=true
    FEATURE_NETWORKING=true
    FEATURE_MESSAGING=true
    FEATURE_WALLET=true
    FEATURE_AI_MATCHER=true
    FEATURE_WEB3_INTEGRATION=true
    bash
    
    NEXT_PUBLIC_BASE_URL=https://ring-platform.org
    NODE_ENV=development
    bash
    
    # Email CRM (IMAP опитування + адмін інтерфейс)
    # IMAP_HOST=mail.example.com
    # IMAP_PORT=993
    # ...
    
    # CRON захист
    # CRON_SECRET=generate-a-long-random-string
    
    # Резервне копіювання та відповідність
    # BACKUP_ENABLED=true
    # BACKUP_SCHEDULE=0 2 * * *
    bash
    
    # Процесор за замовчуванням
    PAYMENT_DEFAULT_PROCESSOR=wayforpay
    
    # Перевизначення за призначенням (опціонально)
    PAYMENT_STORE_PROCESSOR=wayforpay
    PAYMENT_MEMBERSHIP_PROCESSOR=wayforpay
    PAYMENT_NEWS_PROCESSOR=wayforpay
    
    # WayForPay
    WAYFORPAY_MERCHANT_ACCOUNT=your_merchant
    WAYFORPAY_SECRET_KEY=your_secret
    
    # Stripe (альтернатива)
    STRIPE_SECRET_KEY=sk_live_...
    STRIPE_WEBHOOK_SECRET=whsec_...
    PAYMENT_FIAT_CURRENCY=UAH
    bash
    
    NEXT_PUBLIC_SUPPORTED_LOCALES=en,uk,ru
    NEXT_PUBLIC_DEFAULT_LOCALE=en
    bash
    
    XAI_API_KEY=your_xai_key
    XAI_API_BASE_URL=https://api.x.ai/v1
    bash
    
    # vercel | k8s | self-hosted
    RING_DEPLOY_TARGET=self-hosted
    NEXT_PUBLIC_RING_DEPLOY_TARGET=self-hosted
    
    # Опціональна явна WS URL (за замовчуванням: той самий хост /api/tunnel/ws)
    # NEXT_PUBLIC_TUNNEL_WS_URL=wss://ring-platform.org/api/tunnel/ws
    bash
    
    FEATURE_DOCUMENTATION=true
    FEATURE_NETWORKING=true
    FEATURE_MESSAGING=true
    FEATURE_WALLET=true
    FEATURE_AI_MATCHER=true
    FEATURE_WEB3_INTEGRATION=true
    bash
    
    NEXT_PUBLIC_BASE_URL=https://ring-platform.org
    NODE_ENV=development
    bash
    
    # Email CRM (IMAP опитування + адмін інтерфейс)
    # IMAP_HOST=mail.example.com
    # IMAP_PORT=993
    # ...
    
    # CRON захист
    # CRON_SECRET=generate-a-long-random-string
    
    # Резервне копіювання та відповідність
    # BACKUP_ENABLED=true
    # BACKUP_SCHEDULE=0 2 * * *
    bash
    
    # Процесор за замовчуванням
    PAYMENT_DEFAULT_PROCESSOR=wayforpay
    
    # Перевизначення за призначенням (опціонально)
    PAYMENT_STORE_PROCESSOR=wayforpay
    PAYMENT_MEMBERSHIP_PROCESSOR=wayforpay
    PAYMENT_NEWS_PROCESSOR=wayforpay
    
    # WayForPay
    WAYFORPAY_MERCHANT_ACCOUNT=your_merchant
    WAYFORPAY_SECRET_KEY=your_secret
    
    # Stripe (альтернатива)
    STRIPE_SECRET_KEY=sk_live_...
    STRIPE_WEBHOOK_SECRET=whsec_...
    PAYMENT_FIAT_CURRENCY=UAH
    bash
    
    NEXT_PUBLIC_SUPPORTED_LOCALES=en,uk,ru
    NEXT_PUBLIC_DEFAULT_LOCALE=en
    bash
    
    XAI_API_KEY=your_xai_key
    XAI_API_BASE_URL=https://api.x.ai/v1
    bash
    
    # vercel | k8s | self-hosted
    RING_DEPLOY_TARGET=self-hosted
    NEXT_PUBLIC_RING_DEPLOY_TARGET=self-hosted
    
    # Опціональна явна WS URL (за замовчуванням: той самий хост /api/tunnel/ws)
    # NEXT_PUBLIC_TUNNEL_WS_URL=wss://ring-platform.org/api/tunnel/ws
    bash
    
    FEATURE_DOCUMENTATION=true
    FEATURE_NETWORKING=true
    FEATURE_MESSAGING=true
    FEATURE_WALLET=true
    FEATURE_AI_MATCHER=true
    FEATURE_WEB3_INTEGRATION=true
    bash
    
    NEXT_PUBLIC_BASE_URL=https://ring-platform.org
    NODE_ENV=development
    bash
    
    # Email CRM (IMAP опитування + адмін інтерфейс)
    # IMAP_HOST=mail.example.com
    # IMAP_PORT=993
    # ...
    
    # CRON захист
    # CRON_SECRET=generate-a-long-random-string
    
    # Резервне копіювання та відповідність
    # BACKUP_ENABLED=true
    # BACKUP_SCHEDULE=0 2 * * *
    1. Документація
    2. /Розгортання
    3. /Конфігурація Середовища

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

    1. Документація
    2. /Розгортання
    3. /Конфігурація Середовища

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

    1. Документація
    2. /Розгортання
    3. /Конфігурація Середовища

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