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

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

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

    Documentation

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

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання 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)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура 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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання 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)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура 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
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання 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)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура 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 CDN (edge RingFileBase)

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Завантаження описано в RingFileBase; ця сторінка охоплює публічну доставку. Публічні галереї Ring File Cabinet (/{username}/img) віддають елементи з visibility=public через стабільні CDN URL /files/{uuid}.

    Ring CDN — це шлях читання для об’єктів, які зберігає RingFileBase: edge на NGINX (ring-filebase-cdn), що проксує GET /files/<key> до MinIO (або RGW) із заголовками кешування. Браузерам і crawler-ам не потрібні облікові дані MinIO. Ключі містять оригінали (/files/{uuid}) і похідні (/files/{uuid}_v_thumb.webp, /files/{uuid}_v_video_frame_0_480.webp, …) — та сама схема {fileId}_v_*, що й у RingFileBase.

    ШарКомпонентNamespace (типовий)
    Edgering-filebase-cdn Deployment + Ingressring-filebase
    Originminio-servicering-filebase-minio
    Writerring-filebase-apiring-filebase

    Публічні хости мають формат cdn.<clone-domain> (приклади в empire: cdn.ring-platform.org, cdn.greenfood.live, cdn.vikka.ua).

    Чому це важливо для вашого клону

    Користувачі та пошукові системи завантажують фото продуктів, аватари й згенеровані медіа зі стабільного CDN-хоста, а не з pod-ів вашого застосунку. Це звільняє Next.js від великих статичних payload-ів, дає змогу агресивно кешувати дані й розміщувати edge ближче до учасників (US / EU / UA) без змін у коді застосунку.

    Типові сценарії

    White-label CDN бренду

    Зіставте cdn.yourdomain → ваш bucket MinIO через Ingress + NGINX map $host $target_bucket.

    Медіа маркетплейсу

    Збережіть зображення продуктів один раз через RingFileBase; віддавайте їх безстроково з CDN URL, збережених у Postgres.

    File Cabinet /img

    Відібрані елементи публічної галереї вбудовують CDN /files/{uuid} (+ похідні ) — у поточному адаптері немає підписаних URL із HMAC/TTL.

    Шлях запиту

    Перевірені поверхні конфігурації

    ШляхРоль
    infrastructure/k3s-3/ring-filebase/10-cdn-config.yamlNGINX map $host $target_bucket + location /files/
    infrastructure/ring-file-base/k8s/ring-filebase/cdn-*-ingress.yamlIngress для кожного домену + TLS
    infrastructure/ring-file-base/k8s/ring-filebase/20-cdn-deployment.yamlCDN Deployment
    App ConfigMapRINGBASE_PUBLIC_URL, необов’язковий REFMAGIC_CDN_INTERNAL_URL (CDN у кластері)

    Host → bucket map (патерн)

    Конфігурація CDN зіставляє Host header з назвою bucket MinIO, а потім проксує:

    /files/<key> → http://minio_backend/<bucket>/<key>

    Приклад зіставлення, який використовується в конфігураціях empire:

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

    Related documentation

    RingFileBase (object storage API)

    Передумова: автентифіковані завантаження та file() / RingBaseAdapter перед публічним читанням CDN.

    Ring File Cabinet

    Той самий процес: кураторство галереї учасника → публічний /{username}/img через CDN /files/{uuid}; приватні байти використовують проксі завантаження ACL.

    Environment Configuration

    Залежність: RINGBASE_PUBLIC_URL і env, пов’язані зі сховищем, для клонів.

    Performance Optimization

    Див. також: кешування та edge-міркування для клонів.

    1. Документація
    2. /Інтеграції
    3. /Ring CDN (edge RingFileBase)

    Оновлено 6 вер. 2026 р.4 хв прослуховування

    Ring CDN (edge RingFileBase)

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Завантаження описано в RingFileBase; ця сторінка охоплює публічну доставку. Публічні галереї Ring File Cabinet (/{username}/img) віддають елементи з visibility=public через стабільні CDN URL /files/{uuid}.

    Ring CDN — це шлях читання для об’єктів, які зберігає RingFileBase: edge на NGINX (ring-filebase-cdn), що проксує GET /files/<key> до MinIO (або RGW) із заголовками кешування. Браузерам і crawler-ам не потрібні облікові дані MinIO. Ключі містять оригінали (/files/{uuid}) і похідні (/files/{uuid}_v_thumb.webp, /files/{uuid}_v_video_frame_0_480.webp, …) — та сама схема {fileId}_v_*, що й у RingFileBase.

    ШарКомпонентNamespace (типовий)
    Edgering-filebase-cdn Deployment + Ingressring-filebase
    Originminio-servicering-filebase-minio
    Writerring-filebase-apiring-filebase

    Публічні хости мають формат cdn.<clone-domain> (приклади в empire: cdn.ring-platform.org, cdn.greenfood.live, cdn.vikka.ua).

    Чому це важливо для вашого клону

    Користувачі та пошукові системи завантажують фото продуктів, аватари й згенеровані медіа зі стабільного CDN-хоста, а не з pod-ів вашого застосунку. Це звільняє Next.js від великих статичних payload-ів, дає змогу агресивно кешувати дані й розміщувати edge ближче до учасників (US / EU / UA) без змін у коді застосунку.

    Типові сценарії

    White-label CDN бренду

    Зіставте cdn.yourdomain → ваш bucket MinIO через Ingress + NGINX map $host $target_bucket.

    Медіа маркетплейсу

    Збережіть зображення продуктів один раз через RingFileBase; віддавайте їх безстроково з CDN URL, збережених у Postgres.

    File Cabinet /img

    Відібрані елементи публічної галереї вбудовують CDN /files/{uuid} (+ похідні ) — у поточному адаптері немає підписаних URL із HMAC/TTL.

    Шлях запиту

    Перевірені поверхні конфігурації

    ШляхРоль
    infrastructure/k3s-3/ring-filebase/10-cdn-config.yamlNGINX map $host $target_bucket + location /files/
    infrastructure/ring-file-base/k8s/ring-filebase/cdn-*-ingress.yamlIngress для кожного домену + TLS
    infrastructure/ring-file-base/k8s/ring-filebase/20-cdn-deployment.yamlCDN Deployment
    App ConfigMapRINGBASE_PUBLIC_URL, необов’язковий REFMAGIC_CDN_INTERNAL_URL (CDN у кластері)

    Host → bucket map (патерн)

    Конфігурація CDN зіставляє Host header з назвою bucket MinIO, а потім проксує:

    /files/<key> → http://minio_backend/<bucket>/<key>

    Приклад зіставлення, який використовується в конфігураціях empire:

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

    Related documentation

    RingFileBase (object storage API)

    Передумова: автентифіковані завантаження та file() / RingBaseAdapter перед публічним читанням CDN.

    Ring File Cabinet

    Той самий процес: кураторство галереї учасника → публічний /{username}/img через CDN /files/{uuid}; приватні байти використовують проксі завантаження ACL.

    Environment Configuration

    Залежність: RINGBASE_PUBLIC_URL і env, пов’язані зі сховищем, для клонів.

    Performance Optimization

    Див. також: кешування та edge-міркування для клонів.

    1. Документація
    2. /Інтеграції
    3. /Ring CDN (edge RingFileBase)

    Оновлено 6 вер. 2026 р.4 хв прослуховування

    Ring CDN (edge RingFileBase)

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Завантаження описано в RingFileBase; ця сторінка охоплює публічну доставку. Публічні галереї Ring File Cabinet (/{username}/img) віддають елементи з visibility=public через стабільні CDN URL /files/{uuid}.

    Ring CDN — це шлях читання для об’єктів, які зберігає RingFileBase: edge на NGINX (ring-filebase-cdn), що проксує GET /files/<key> до MinIO (або RGW) із заголовками кешування. Браузерам і crawler-ам не потрібні облікові дані MinIO. Ключі містять оригінали (/files/{uuid}) і похідні (/files/{uuid}_v_thumb.webp, /files/{uuid}_v_video_frame_0_480.webp, …) — та сама схема {fileId}_v_*, що й у RingFileBase.

    ШарКомпонентNamespace (типовий)
    Edgering-filebase-cdn Deployment + Ingressring-filebase
    Originminio-servicering-filebase-minio
    Writerring-filebase-apiring-filebase

    Публічні хости мають формат cdn.<clone-domain> (приклади в empire: cdn.ring-platform.org, cdn.greenfood.live, cdn.vikka.ua).

    Чому це важливо для вашого клону

    Користувачі та пошукові системи завантажують фото продуктів, аватари й згенеровані медіа зі стабільного CDN-хоста, а не з pod-ів вашого застосунку. Це звільняє Next.js від великих статичних payload-ів, дає змогу агресивно кешувати дані й розміщувати edge ближче до учасників (US / EU / UA) без змін у коді застосунку.

    Типові сценарії

    White-label CDN бренду

    Зіставте cdn.yourdomain → ваш bucket MinIO через Ingress + NGINX map $host $target_bucket.

    Медіа маркетплейсу

    Збережіть зображення продуктів один раз через RingFileBase; віддавайте їх безстроково з CDN URL, збережених у Postgres.

    File Cabinet /img

    Відібрані елементи публічної галереї вбудовують CDN /files/{uuid} (+ похідні ) — у поточному адаптері немає підписаних URL із HMAC/TTL.

    Шлях запиту

    Перевірені поверхні конфігурації

    ШляхРоль
    infrastructure/k3s-3/ring-filebase/10-cdn-config.yamlNGINX map $host $target_bucket + location /files/
    infrastructure/ring-file-base/k8s/ring-filebase/cdn-*-ingress.yamlIngress для кожного домену + TLS
    infrastructure/ring-file-base/k8s/ring-filebase/20-cdn-deployment.yamlCDN Deployment
    App ConfigMapRINGBASE_PUBLIC_URL, необов’язковий REFMAGIC_CDN_INTERNAL_URL (CDN у кластері)

    Host → bucket map (патерн)

    Конфігурація CDN зіставляє Host header з назвою bucket MinIO, а потім проксує:

    /files/<key> → http://minio_backend/<bucket>/<key>

    Приклад зіставлення, який використовується в конфігураціях empire:

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

    Related documentation

    RingFileBase (object storage API)

    Передумова: автентифіковані завантаження та file() / RingBaseAdapter перед публічним читанням CDN.

    Ring File Cabinet

    Той самий процес: кураторство галереї учасника → публічний /{username}/img через CDN /files/{uuid}; приватні байти використовують проксі завантаження ACL.

    Environment Configuration

    Залежність: RINGBASE_PUBLIC_URL і env, пов’язані зі сховищем, для клонів.

    Performance Optimization

    Див. також: кешування та edge-міркування для клонів.

    1. Документація
    2. /Інтеграції
    3. /Ring CDN (edge RingFileBase)

    Оновлено 6 вер. 2026 р.4 хв прослуховування

    _v_*

    Генеративні медіа

    Результати ImageConductor / VideoConductor мають потрапляти до RingFileBase, щоб OG і ресурси newsroom використовували CDN URL.

    Резервне копіювання ops

    CDN — це кеш: створюйте резервну копію bucket MinIO/RGW, а не лише NGINX PVC.

    Чекліст засновника
    1. DNS cdn.<domain> → IP-адреса(и) cluster ingress.
    2. Сертифікат TLS на CDN Ingress.
    3. App RINGBASE_PUBLIC_URL=https://cdn.<domain>.
    4. Переконайтеся, що відома URL /files/... повертає 200 у браузері.
    HostBucket
    cdn.ring-platform.orgring-filebase
    cdn.greenfood.livering-filebase
    cdn.vikka.uaring-vikka-ua

    Ключі об’єктів — це все, що записав ring-filebase-api (деякі розгорнуті образи API досі додають до ключів префікс сегмента проєкту, наприклад ring-greenfood-live/<uuid>). Шлях CDN завжди має вигляд /files/ + цей ключ.

    Підключення застосунку

    ЗміннаПризначення
    RINGBASE_PUBLIC_URLАбсолютний origin, вбудований у відповіді завантаження (https://cdn.<domain>)
    REFMAGIC_CDN_INTERNAL_URLНеобов’язкове внутрішньокластерне отримання (http://ring-filebase-cdn.ring-filebase.svc.cluster.local)
    CDN_URLНеобов’язковий застарілий/закоментований прапорець у env.local.template — для RingFileBase надавайте перевагу RINGBASE_PUBLIC_URL

    Edge-зони (довідка empire)

    Ringdom працює з CDN edge як з географічним набором (описано в AI-CONTEXT cdn-edge-architecture): US (k3s-1 / Ashburn), EU (Finland), UA (k8s). У кожній зоні працюють локальні MinIO + CDN proxy; DNS може публікувати кілька A/AAAA-записів для cdn.*. Ваш клон може використовувати лише одну зону — все одно дотримуйтеся того самого контракту /files/.

    Кроки оператора

    1. 1

      Створіть bucket + публічне читання для CDN

      Об’єкти MinIO часто завантажуються з приватним ACL. CDN proxy потребує анонімного GetObject (або еквівалентного підписаного fetch) для bucket, інакше браузери побачать 403 XML від MinIO через NGINX.

    2. 2

      Розгорніть CDN + Ingress

      Застосуйте ConfigMap-и CDN, Deployment, Service та Ingress cdn.<domain> із TLS від cert-manager. Переконайтеся, що server_name містить ваш хост.

    3. 3

      Спрямуйте застосунок на публічний origin

      Задайте RINGBASE_PUBLIC_URL=https://cdn.<domain>, щоб RingBaseAdapter / відповіді API повертали CDN URL. Після змін ConfigMap перезапустіть Ring Deployment.

    4. 4

      Перевірте

      Очікуйте 200. 403 → політика bucket / ACL. 404 → неправильне зіставлення bucket або префікс ключа.

    Нотатки з безпеки

    • CDN є лише для читання щодо /files/ — завантаження проходять через RingFileBase API з Bearer auth.
    • Не відкривайте console MinIO або S3 API публічно без потреби; залишайте minio-service як ClusterIP.
    • Плоскі ключі /files/<id> зменшують можливість переліку директорій порівняно з деревами папок за датами (див. нотатки з посилення безпеки RingFileBase в AI-CONTEXT).
    _v_*

    Генеративні медіа

    Результати ImageConductor / VideoConductor мають потрапляти до RingFileBase, щоб OG і ресурси newsroom використовували CDN URL.

    Резервне копіювання ops

    CDN — це кеш: створюйте резервну копію bucket MinIO/RGW, а не лише NGINX PVC.

    Чекліст засновника
    1. DNS cdn.<domain> → IP-адреса(и) cluster ingress.
    2. Сертифікат TLS на CDN Ingress.
    3. App RINGBASE_PUBLIC_URL=https://cdn.<domain>.
    4. Переконайтеся, що відома URL /files/... повертає 200 у браузері.
    HostBucket
    cdn.ring-platform.orgring-filebase
    cdn.greenfood.livering-filebase
    cdn.vikka.uaring-vikka-ua

    Ключі об’єктів — це все, що записав ring-filebase-api (деякі розгорнуті образи API досі додають до ключів префікс сегмента проєкту, наприклад ring-greenfood-live/<uuid>). Шлях CDN завжди має вигляд /files/ + цей ключ.

    Підключення застосунку

    ЗміннаПризначення
    RINGBASE_PUBLIC_URLАбсолютний origin, вбудований у відповіді завантаження (https://cdn.<domain>)
    REFMAGIC_CDN_INTERNAL_URLНеобов’язкове внутрішньокластерне отримання (http://ring-filebase-cdn.ring-filebase.svc.cluster.local)
    CDN_URLНеобов’язковий застарілий/закоментований прапорець у env.local.template — для RingFileBase надавайте перевагу RINGBASE_PUBLIC_URL

    Edge-зони (довідка empire)

    Ringdom працює з CDN edge як з географічним набором (описано в AI-CONTEXT cdn-edge-architecture): US (k3s-1 / Ashburn), EU (Finland), UA (k8s). У кожній зоні працюють локальні MinIO + CDN proxy; DNS може публікувати кілька A/AAAA-записів для cdn.*. Ваш клон може використовувати лише одну зону — все одно дотримуйтеся того самого контракту /files/.

    Кроки оператора

    1. 1

      Створіть bucket + публічне читання для CDN

      Об’єкти MinIO часто завантажуються з приватним ACL. CDN proxy потребує анонімного GetObject (або еквівалентного підписаного fetch) для bucket, інакше браузери побачать 403 XML від MinIO через NGINX.

    2. 2

      Розгорніть CDN + Ingress

      Застосуйте ConfigMap-и CDN, Deployment, Service та Ingress cdn.<domain> із TLS від cert-manager. Переконайтеся, що server_name містить ваш хост.

    3. 3

      Спрямуйте застосунок на публічний origin

      Задайте RINGBASE_PUBLIC_URL=https://cdn.<domain>, щоб RingBaseAdapter / відповіді API повертали CDN URL. Після змін ConfigMap перезапустіть Ring Deployment.

    4. 4

      Перевірте

      Очікуйте 200. 403 → політика bucket / ACL. 404 → неправильне зіставлення bucket або префікс ключа.

    Нотатки з безпеки

    • CDN є лише для читання щодо /files/ — завантаження проходять через RingFileBase API з Bearer auth.
    • Не відкривайте console MinIO або S3 API публічно без потреби; залишайте minio-service як ClusterIP.
    • Плоскі ключі /files/<id> зменшують можливість переліку директорій порівняно з деревами папок за датами (див. нотатки з посилення безпеки RingFileBase в AI-CONTEXT).
    _v_*

    Генеративні медіа

    Результати ImageConductor / VideoConductor мають потрапляти до RingFileBase, щоб OG і ресурси newsroom використовували CDN URL.

    Резервне копіювання ops

    CDN — це кеш: створюйте резервну копію bucket MinIO/RGW, а не лише NGINX PVC.

    Чекліст засновника
    1. DNS cdn.<domain> → IP-адреса(и) cluster ingress.
    2. Сертифікат TLS на CDN Ingress.
    3. App RINGBASE_PUBLIC_URL=https://cdn.<domain>.
    4. Переконайтеся, що відома URL /files/... повертає 200 у браузері.
    HostBucket
    cdn.ring-platform.orgring-filebase
    cdn.greenfood.livering-filebase
    cdn.vikka.uaring-vikka-ua

    Ключі об’єктів — це все, що записав ring-filebase-api (деякі розгорнуті образи API досі додають до ключів префікс сегмента проєкту, наприклад ring-greenfood-live/<uuid>). Шлях CDN завжди має вигляд /files/ + цей ключ.

    Підключення застосунку

    ЗміннаПризначення
    RINGBASE_PUBLIC_URLАбсолютний origin, вбудований у відповіді завантаження (https://cdn.<domain>)
    REFMAGIC_CDN_INTERNAL_URLНеобов’язкове внутрішньокластерне отримання (http://ring-filebase-cdn.ring-filebase.svc.cluster.local)
    CDN_URLНеобов’язковий застарілий/закоментований прапорець у env.local.template — для RingFileBase надавайте перевагу RINGBASE_PUBLIC_URL

    Edge-зони (довідка empire)

    Ringdom працює з CDN edge як з географічним набором (описано в AI-CONTEXT cdn-edge-architecture): US (k3s-1 / Ashburn), EU (Finland), UA (k8s). У кожній зоні працюють локальні MinIO + CDN proxy; DNS може публікувати кілька A/AAAA-записів для cdn.*. Ваш клон може використовувати лише одну зону — все одно дотримуйтеся того самого контракту /files/.

    Кроки оператора

    1. 1

      Створіть bucket + публічне читання для CDN

      Об’єкти MinIO часто завантажуються з приватним ACL. CDN proxy потребує анонімного GetObject (або еквівалентного підписаного fetch) для bucket, інакше браузери побачать 403 XML від MinIO через NGINX.

    2. 2

      Розгорніть CDN + Ingress

      Застосуйте ConfigMap-и CDN, Deployment, Service та Ingress cdn.<domain> із TLS від cert-manager. Переконайтеся, що server_name містить ваш хост.

    3. 3

      Спрямуйте застосунок на публічний origin

      Задайте RINGBASE_PUBLIC_URL=https://cdn.<domain>, щоб RingBaseAdapter / відповіді API повертали CDN URL. Після змін ConfigMap перезапустіть Ring Deployment.

    4. 4

      Перевірте

      Очікуйте 200. 403 → політика bucket / ACL. 404 → неправильне зіставлення bucket або префікс ключа.

    Нотатки з безпеки

    • CDN є лише для читання щодо /files/ — завантаження проходять через RingFileBase API з Bearer auth.
    • Не відкривайте console MinIO або S3 API публічно без потреби; залишайте minio-service як ClusterIP.
    • Плоскі ключі /files/<id> зменшують можливість переліку директорій порівняно з деревами папок за датами (див. нотатки з посилення безпеки RingFileBase в AI-CONTEXT).