Ring Platform

AI Self-Construct

🏠
Главная
ОрганизацииHot
OpportunitiesNew
Магазин
Platform Concepts
RING Экономика
Тринити Украина
Глобальное влияние
AI встречает Web3
Начать
Документация
Быстрый старт
Калькулятор развёртывания
Offline
v1.48•Trinity
Privacy|Contact
Ring Platform Logo

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

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

Documentation

Начало работы

Обзор
Установка
Предпосылки
Первый успех
Следующие шаги
Устранение неполадок

Архитектура

Обзор архитектуры
Архитектура аутентификации
Модель данных
Реальное время
Безопасность

Функции

Функции платформы
Аутентификация
Сущности
Возможности
Мультивендорный магазин
Web3 кошелёк
Сообщения
Уведомления
NFT маркетплейс
Интеграция платежей
Безопасность и соответствие
Стейкинг токенов
Производительность

API справочник

Обзор API
API аутентификации
API сущностей
API возможностей
API магазина
API кошелька
API сообщений
API уведомлений
API администратора

CLI инструмент

Ring CLI

Настройка

Обзор настроек
Брендинг
Темы
Компоненты
Функции
Локализация

Развёртывание

Обзор развёртывания
Docker
Vercel
Окружение
Мониторинг
Производительность
Резервное копирование

Разработка

Руководство разработчика
Локальная настройка
Структура кода
Стиль кода
Лучшие практики
Тестирование
Отладка
Производительность
Развёртывание
Рабочий процесс
Вклад

Примеры

Обзор примеров
Быстрый старт
Базовая настройка
Аутентификация
API интеграция
Примеры API
Собственный брендинг
White Label
Мультитенант
Web3 интеграция
Вход через Apple
Интеграции третьих сторон
Расширенные функции
Реальные кейсы

White Label

Обзор White Label
Быстрый старт
Руководство по настройке
Выбор базы данных
Интеграция платежей
Токеномика
Настройка мультитенант
AI настройка
Истории успеха

Quick Links

API Reference
Code Examples
Changelog
Support
Ring Platform

AI Self-Construct

🏠
Главная
ОрганизацииHot
OpportunitiesNew
Магазин
Platform Concepts
RING Экономика
Тринити Украина
Глобальное влияние
AI встречает Web3
Начать
Документация
Быстрый старт
Калькулятор развёртывания
Offline
v1.48•Trinity
Privacy|Contact
Ring Platform Logo

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

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

Documentation

Начало работы

Обзор
Установка
Предпосылки
Первый успех
Следующие шаги
Устранение неполадок

Архитектура

Обзор архитектуры
Архитектура аутентификации
Модель данных
Реальное время
Безопасность

Функции

Функции платформы
Аутентификация
Сущности
Возможности
Мультивендорный магазин
Web3 кошелёк
Сообщения
Уведомления
NFT маркетплейс
Интеграция платежей
Безопасность и соответствие
Стейкинг токенов
Производительность

API справочник

Обзор API
API аутентификации
API сущностей
API возможностей
API магазина
API кошелька
API сообщений
API уведомлений
API администратора

CLI инструмент

Ring CLI

Настройка

Обзор настроек
Брендинг
Темы
Компоненты
Функции
Локализация

Развёртывание

Обзор развёртывания
Docker
Vercel
Окружение
Мониторинг
Производительность
Резервное копирование

Разработка

Руководство разработчика
Локальная настройка
Структура кода
Стиль кода
Лучшие практики
Тестирование
Отладка
Производительность
Развёртывание
Рабочий процесс
Вклад

Примеры

Обзор примеров
Быстрый старт
Базовая настройка
Аутентификация
API интеграция
Примеры API
Собственный брендинг
White Label
Мультитенант
Web3 интеграция
Вход через Apple
Интеграции третьих сторон
Расширенные функции
Реальные кейсы

White Label

Обзор White Label
Быстрый старт
Руководство по настройке
Выбор базы данных
Интеграция платежей
Токеномика
Настройка мультитенант
AI настройка
Истории успеха

Quick Links

API Reference
Code Examples
Changelog
Support
Ring Platform Logo

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

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

Documentation

Начало работы

Обзор
Установка
Предпосылки
Первый успех
Следующие шаги
Устранение неполадок

Архитектура

Обзор архитектуры
Архитектура аутентификации
Модель данных
Реальное время
Безопасность

Функции

Функции платформы
Аутентификация
Сущности
Возможности
Мультивендорный магазин
Web3 кошелёк
Сообщения
Уведомления
NFT маркетплейс
Интеграция платежей
Безопасность и соответствие
Стейкинг токенов
Производительность

API справочник

Обзор API
API аутентификации
API сущностей
API возможностей
API магазина
API кошелька
API сообщений
API уведомлений
API администратора

CLI инструмент

Ring CLI

Настройка

Обзор настроек
Брендинг
Темы
Компоненты
Функции
Локализация

Развёртывание

Обзор развёртывания
Docker
Vercel
Окружение
Мониторинг
Производительность
Резервное копирование

Разработка

Руководство разработчика
Локальная настройка
Структура кода
Стиль кода
Лучшие практики
Тестирование
Отладка
Производительность
Развёртывание
Рабочий процесс
Вклад

Примеры

Обзор примеров
Быстрый старт
Базовая настройка
Аутентификация
API интеграция
Примеры API
Собственный брендинг
White Label
Мультитенант
Web3 интеграция
Вход через Apple
Интеграции третьих сторон
Расширенные функции
Реальные кейсы

White Label

Обзор White Label
Быстрый старт
Руководство по настройке
Выбор базы данных
Интеграция платежей
Токеномика
Настройка мультитенант
AI настройка
Истории успеха

Quick Links

API Reference
Code Examples
Changelog
Support

About Us

About our platform and services

Quick Links

  • Entities
  • Opportunities
  • Contact
  • Documentation

Contact

195 Shevhenko Blvd, Cherkasy, Ukraine

contact@ring.ck.ua

+38 097 532 8801

Follow Us

© 2025 Ring

Privacy PolicyTerms of Service

About Us

About our platform and services

Quick Links

  • Entities
  • Opportunities
  • Contact
  • Documentation

Contact

195 Shevhenko Blvd, Cherkasy, Ukraine

contact@ring.ck.ua

+38 097 532 8801

Follow Us

© 2025 Ring

Privacy PolicyTerms of Service

    Развертывание Docker

    Ring Platform может быть развернут с использованием контейнеров Docker с полной оркестрацией Kubernetes. Это руководство охватывает как разработку, так и производственные развертывания.

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

    Системные требования

    • Docker 20.10+
    • Docker Compose 2.0+
    • Кластер Kubernetes (для производства)
    • Минимум 4 ГБ ОЗУ, рекомендуется 8 ГБ
    • 20 ГБ дискового пространства

    Сетевые требования

    • Исходящий доступ HTTPS для загрузки пакетов
    • Входящий доступ на портах 80/443 (производство)
    • Доступ к реестрам контейнеров (ghcr.io)

    Развертывание в разработке

    Docker Compose (Разработка)

    version: '3.9'
    yaml
    services:
    ring-platform:
      build:
        context: .
        dockerfile: Dockerfile
        platform: linux/amd64
      ports:
        - "3000:3000"
      environment:
        - NODE_ENV=development
        - NEXTAUTH_URL=http://localhost:3000
        - NEXT_PUBLIC_API_URL=http://localhost:3000
      volumes:
        - .:/app
        - /app/node_modules
      restart: unless-stopped
    
    postgres:
      image: postgres:15
      environment:
        - POSTGRES_DB=ring_platform
        - POSTGRES_USER=ring
        - POSTGRES_PASSWORD=secure_password
      ports:
        - "5432:5432"
      volumes:
        - postgres_data:/var/lib/postgresql/data
      restart: unless-stopped
    
    volumes:
    postgres_data:

    Быстрая настройка разработки

    Клонировать репозиторий Запустить среду разработки Просмотреть логи Доступ к приложению

    terminal
    bash
    git clone https://github.com/connectplatform/ring.git
    cd ring/ring-platform.org
    
    docker-compose -f docker-compose.dev.yml up -d
    
    docker-compose logs -f ring-platform
    
    open http://localhost:3000

    Продакшн-развертывание

    Критические требования к сборке

    [!WARNING] КРИТИЧНО: Никогда не используйте подсветку синтаксиса на стороне сервера или импорты Mermaid.js на верхнем уровне - вызывает 30-секундные задержки и таймауты 503!

    Спецификация платформы

    Всегда собирать с явным указанием платформы для узлов Kubernetes AMD64

    terminal
    bash
    docker build --platform linux/amd64 -t ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64 -f Dockerfile .

    Конфигурация Docker

    • НЕ исключать директорию docs/ из .dockerignore
    • ОБЯЗАТЕЛЬНО копировать директории lib/ и docs/ на этапе runtime Dockerfile
    • Использовать динамические импорты для клиентских библиотек типа Mermaid.js

    Процесс сборки и развертывания

    Шаг 1: Собрать образ Docker

    terminal
    bash
    cd ring-platform.org
    docker build --platform linux/amd64 -t ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64 -f Dockerfile .

    Шаг 2: Отправить в реестр

    terminal
    bash
    docker push ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64

    Шаг 3: Развернуть в Kubernetes

    ssh k8s-control-01 'kubectl -n ring-platform-org set image \

    terminal
    bash
    deployment/ring-platform ring-platform=ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64'

    Шаг 4: Мониторить развертывание

    terminal
    bash
    ssh k8s-control-01 'kubectl -n ring-platform-org rollout status deployment/ring-platform'
    ssh k8s-control-01 'kubectl -n ring-platform-org get pods -l app=ring-platform'

    Развертывание Kubernetes

    Обзор

    Ring Platform развертывается в Kubernetes с использованием HAProxy в качестве внешнего балансировщика нагрузки и MetalLB для внутренней балансировки сервисов. Это обеспечивает масштабируемость корпоративного уровня, высокую доступность и управление трафиком.

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

    • Кластер Kubernetes v1.29+
    • Установленный HAProxy LoadBalancer (10.10.0.30)
    • Настроенный MetalLB с пулом IP (10.10.0.40-10.10.0.50)
    • Cilium CNI с шифрованием WireGuard
    • NGINX Ingress Controller (опционально)

    Конфигурация DNS

    Настройте вашего DNS-провайдера для указания ring-platform.org на ваши публичные IP:

    Основная настройка (Рекомендуется) Расширенная настройка с балансировкой нагрузки

    terminal
    bash
    ring-platform.org      A     195.95.233.69    # HAProxy LoadBalancer
    www.ring-platform.org  CNAME ring-platform.org
    
    ring-platform.org      A     195.95.233.69    # Основной (HAProxy)
    ring-platform.org      A     195.95.233.15    # Вторичный (MetalLB)

    Настройка пространства имен

    Создать пространство имен Ring Установить как пространство по умолчанию для развертывания

    terminal
    bash
    kubectl create namespace ring-platform-org
    
    kubectl config set-context --current --namespace=ring-platform-org

    Развертывание приложения Ring Platform

    ring-platform-deployment.yaml Сервис Ring Platform с MetalLB

    configuration
    yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: ring-platform
    namespace: ring-platform-org
    labels:
      app: ring-platform
    spec:
    replicas: 2
    selector:
      matchLabels:
        app: ring-platform
    template:
      metadata:
        labels:
          app: ring-platform
      spec:
        containers:
        - name: ring-platform
          image: ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64
          ports:
          - containerPort: 3000
            name: http
          env:
          - name: NODE_ENV
            value: "production"
          - name: NEXTAUTH_URL
            value: "https://ring-platform.org"
          - name: NEXT_PUBLIC_API_URL
            value: "https://ring-platform.org"
          resources:
            requests:
              memory: "512Mi"
              cpu: "250m"
            limits:
              memory: "1Gi"
              cpu: "500m"
          livenessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 30
            periodSeconds: 10
            timeoutSeconds: 5
          readinessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 5
            periodSeconds: 5
            timeoutSeconds: 3
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: ring-platform-service
    namespace: ring-platform-org
    annotations:
      metallb.universe.tf/loadBalancerIPs: 10.10.0.41
    spec:
    selector:
      app: ring-platform
    ports:
    - name: http
      port: 80
      targetPort: 3000
      protocol: TCP
    - name: https
      port: 443
      targetPort: 3000
      protocol: TCP
    type: LoadBalancer
    loadBalancerIP: 10.10.0.41

    Конфигурация NGINX Ingress

    ring-platform-ingress.yaml Основное приложение Документация субдомен

    configuration
    yaml
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
    name: ring-platform-ingress
    namespace: ring-platform-org
    annotations:
      kubernetes.io/ingress.class: "nginx"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/rewrite-target: /
      cert-manager.io/cluster-issuer: "letsencrypt-prod"
      nginx.ingress.kubernetes.io/proxy-body-size: "50m"
      nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
      nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    spec:
    tls:
    - hosts:
      - ring-platform.org
      - www.ring-platform.org
      - docs.ring-platform.org
      secretName: ring-platform-tls
    rules:
    - host: ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80
    - host: www.ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80
    - host: docs.ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80

    Это развертывание Kubernetes обеспечивает масштабируемость корпоративного уровня, высокую доступность и надежное управление трафиком для платформы Ring с использованием балансировщиков нагрузки HAProxy и MetalLB.

    Развертывание Docker

    Ring Platform может быть развернут с использованием контейнеров Docker с полной оркестрацией Kubernetes. Это руководство охватывает как разработку, так и производственные развертывания.

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

    Системные требования

    • Docker 20.10+
    • Docker Compose 2.0+
    • Кластер Kubernetes (для производства)
    • Минимум 4 ГБ ОЗУ, рекомендуется 8 ГБ
    • 20 ГБ дискового пространства

    Сетевые требования

    • Исходящий доступ HTTPS для загрузки пакетов
    • Входящий доступ на портах 80/443 (производство)
    • Доступ к реестрам контейнеров (ghcr.io)

    Развертывание в разработке

    Docker Compose (Разработка)

    version: '3.9'
    yaml
    services:
    ring-platform:
      build:
        context: .
        dockerfile: Dockerfile
        platform: linux/amd64
      ports:
        - "3000:3000"
      environment:
        - NODE_ENV=development
        - NEXTAUTH_URL=http://localhost:3000
        - NEXT_PUBLIC_API_URL=http://localhost:3000
      volumes:
        - .:/app
        - /app/node_modules
      restart: unless-stopped
    
    postgres:
      image: postgres:15
      environment:
        - POSTGRES_DB=ring_platform
        - POSTGRES_USER=ring
        - POSTGRES_PASSWORD=secure_password
      ports:
        - "5432:5432"
      volumes:
        - postgres_data:/var/lib/postgresql/data
      restart: unless-stopped
    
    volumes:
    postgres_data:

    Быстрая настройка разработки

    Клонировать репозиторий Запустить среду разработки Просмотреть логи Доступ к приложению

    terminal
    bash
    git clone https://github.com/connectplatform/ring.git
    cd ring/ring-platform.org
    
    docker-compose -f docker-compose.dev.yml up -d
    
    docker-compose logs -f ring-platform
    
    open http://localhost:3000

    Продакшн-развертывание

    Критические требования к сборке

    [!WARNING] КРИТИЧНО: Никогда не используйте подсветку синтаксиса на стороне сервера или импорты Mermaid.js на верхнем уровне - вызывает 30-секундные задержки и таймауты 503!

    Спецификация платформы

    Всегда собирать с явным указанием платформы для узлов Kubernetes AMD64

    terminal
    bash
    docker build --platform linux/amd64 -t ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64 -f Dockerfile .

    Конфигурация Docker

    • НЕ исключать директорию docs/ из .dockerignore
    • ОБЯЗАТЕЛЬНО копировать директории lib/ и docs/ на этапе runtime Dockerfile
    • Использовать динамические импорты для клиентских библиотек типа Mermaid.js

    Процесс сборки и развертывания

    Шаг 1: Собрать образ Docker

    terminal
    bash
    cd ring-platform.org
    docker build --platform linux/amd64 -t ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64 -f Dockerfile .

    Шаг 2: Отправить в реестр

    terminal
    bash
    docker push ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64

    Шаг 3: Развернуть в Kubernetes

    ssh k8s-control-01 'kubectl -n ring-platform-org set image \

    terminal
    bash
    deployment/ring-platform ring-platform=ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64'

    Шаг 4: Мониторить развертывание

    terminal
    bash
    ssh k8s-control-01 'kubectl -n ring-platform-org rollout status deployment/ring-platform'
    ssh k8s-control-01 'kubectl -n ring-platform-org get pods -l app=ring-platform'

    Развертывание Kubernetes

    Обзор

    Ring Platform развертывается в Kubernetes с использованием HAProxy в качестве внешнего балансировщика нагрузки и MetalLB для внутренней балансировки сервисов. Это обеспечивает масштабируемость корпоративного уровня, высокую доступность и управление трафиком.

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

    • Кластер Kubernetes v1.29+
    • Установленный HAProxy LoadBalancer (10.10.0.30)
    • Настроенный MetalLB с пулом IP (10.10.0.40-10.10.0.50)
    • Cilium CNI с шифрованием WireGuard
    • NGINX Ingress Controller (опционально)

    Конфигурация DNS

    Настройте вашего DNS-провайдера для указания ring-platform.org на ваши публичные IP:

    Основная настройка (Рекомендуется) Расширенная настройка с балансировкой нагрузки

    terminal
    bash
    ring-platform.org      A     195.95.233.69    # HAProxy LoadBalancer
    www.ring-platform.org  CNAME ring-platform.org
    
    ring-platform.org      A     195.95.233.69    # Основной (HAProxy)
    ring-platform.org      A     195.95.233.15    # Вторичный (MetalLB)

    Настройка пространства имен

    Создать пространство имен Ring Установить как пространство по умолчанию для развертывания

    terminal
    bash
    kubectl create namespace ring-platform-org
    
    kubectl config set-context --current --namespace=ring-platform-org

    Развертывание приложения Ring Platform

    ring-platform-deployment.yaml Сервис Ring Platform с MetalLB

    configuration
    yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: ring-platform
    namespace: ring-platform-org
    labels:
      app: ring-platform
    spec:
    replicas: 2
    selector:
      matchLabels:
        app: ring-platform
    template:
      metadata:
        labels:
          app: ring-platform
      spec:
        containers:
        - name: ring-platform
          image: ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64
          ports:
          - containerPort: 3000
            name: http
          env:
          - name: NODE_ENV
            value: "production"
          - name: NEXTAUTH_URL
            value: "https://ring-platform.org"
          - name: NEXT_PUBLIC_API_URL
            value: "https://ring-platform.org"
          resources:
            requests:
              memory: "512Mi"
              cpu: "250m"
            limits:
              memory: "1Gi"
              cpu: "500m"
          livenessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 30
            periodSeconds: 10
            timeoutSeconds: 5
          readinessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 5
            periodSeconds: 5
            timeoutSeconds: 3
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: ring-platform-service
    namespace: ring-platform-org
    annotations:
      metallb.universe.tf/loadBalancerIPs: 10.10.0.41
    spec:
    selector:
      app: ring-platform
    ports:
    - name: http
      port: 80
      targetPort: 3000
      protocol: TCP
    - name: https
      port: 443
      targetPort: 3000
      protocol: TCP
    type: LoadBalancer
    loadBalancerIP: 10.10.0.41

    Конфигурация NGINX Ingress

    ring-platform-ingress.yaml Основное приложение Документация субдомен

    configuration
    yaml
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
    name: ring-platform-ingress
    namespace: ring-platform-org
    annotations:
      kubernetes.io/ingress.class: "nginx"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/rewrite-target: /
      cert-manager.io/cluster-issuer: "letsencrypt-prod"
      nginx.ingress.kubernetes.io/proxy-body-size: "50m"
      nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
      nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    spec:
    tls:
    - hosts:
      - ring-platform.org
      - www.ring-platform.org
      - docs.ring-platform.org
      secretName: ring-platform-tls
    rules:
    - host: ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80
    - host: www.ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80
    - host: docs.ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80

    Это развертывание Kubernetes обеспечивает масштабируемость корпоративного уровня, высокую доступность и надежное управление трафиком для платформы Ring с использованием балансировщиков нагрузки HAProxy и MetalLB.

    Развертывание Docker

    Ring Platform может быть развернут с использованием контейнеров Docker с полной оркестрацией Kubernetes. Это руководство охватывает как разработку, так и производственные развертывания.

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

    Системные требования

    • Docker 20.10+
    • Docker Compose 2.0+
    • Кластер Kubernetes (для производства)
    • Минимум 4 ГБ ОЗУ, рекомендуется 8 ГБ
    • 20 ГБ дискового пространства

    Сетевые требования

    • Исходящий доступ HTTPS для загрузки пакетов
    • Входящий доступ на портах 80/443 (производство)
    • Доступ к реестрам контейнеров (ghcr.io)

    Развертывание в разработке

    Docker Compose (Разработка)

    version: '3.9'
    yaml
    services:
    ring-platform:
      build:
        context: .
        dockerfile: Dockerfile
        platform: linux/amd64
      ports:
        - "3000:3000"
      environment:
        - NODE_ENV=development
        - NEXTAUTH_URL=http://localhost:3000
        - NEXT_PUBLIC_API_URL=http://localhost:3000
      volumes:
        - .:/app
        - /app/node_modules
      restart: unless-stopped
    
    postgres:
      image: postgres:15
      environment:
        - POSTGRES_DB=ring_platform
        - POSTGRES_USER=ring
        - POSTGRES_PASSWORD=secure_password
      ports:
        - "5432:5432"
      volumes:
        - postgres_data:/var/lib/postgresql/data
      restart: unless-stopped
    
    volumes:
    postgres_data:

    Быстрая настройка разработки

    Клонировать репозиторий Запустить среду разработки Просмотреть логи Доступ к приложению

    terminal
    bash
    git clone https://github.com/connectplatform/ring.git
    cd ring/ring-platform.org
    
    docker-compose -f docker-compose.dev.yml up -d
    
    docker-compose logs -f ring-platform
    
    open http://localhost:3000

    Продакшн-развертывание

    Критические требования к сборке

    [!WARNING] КРИТИЧНО: Никогда не используйте подсветку синтаксиса на стороне сервера или импорты Mermaid.js на верхнем уровне - вызывает 30-секундные задержки и таймауты 503!

    Спецификация платформы

    Всегда собирать с явным указанием платформы для узлов Kubernetes AMD64

    terminal
    bash
    docker build --platform linux/amd64 -t ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64 -f Dockerfile .

    Конфигурация Docker

    • НЕ исключать директорию docs/ из .dockerignore
    • ОБЯЗАТЕЛЬНО копировать директории lib/ и docs/ на этапе runtime Dockerfile
    • Использовать динамические импорты для клиентских библиотек типа Mermaid.js

    Процесс сборки и развертывания

    Шаг 1: Собрать образ Docker

    terminal
    bash
    cd ring-platform.org
    docker build --platform linux/amd64 -t ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64 -f Dockerfile .

    Шаг 2: Отправить в реестр

    terminal
    bash
    docker push ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64

    Шаг 3: Развернуть в Kubernetes

    ssh k8s-control-01 'kubectl -n ring-platform-org set image \

    terminal
    bash
    deployment/ring-platform ring-platform=ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64'

    Шаг 4: Мониторить развертывание

    terminal
    bash
    ssh k8s-control-01 'kubectl -n ring-platform-org rollout status deployment/ring-platform'
    ssh k8s-control-01 'kubectl -n ring-platform-org get pods -l app=ring-platform'

    Развертывание Kubernetes

    Обзор

    Ring Platform развертывается в Kubernetes с использованием HAProxy в качестве внешнего балансировщика нагрузки и MetalLB для внутренней балансировки сервисов. Это обеспечивает масштабируемость корпоративного уровня, высокую доступность и управление трафиком.

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

    • Кластер Kubernetes v1.29+
    • Установленный HAProxy LoadBalancer (10.10.0.30)
    • Настроенный MetalLB с пулом IP (10.10.0.40-10.10.0.50)
    • Cilium CNI с шифрованием WireGuard
    • NGINX Ingress Controller (опционально)

    Конфигурация DNS

    Настройте вашего DNS-провайдера для указания ring-platform.org на ваши публичные IP:

    Основная настройка (Рекомендуется) Расширенная настройка с балансировкой нагрузки

    terminal
    bash
    ring-platform.org      A     195.95.233.69    # HAProxy LoadBalancer
    www.ring-platform.org  CNAME ring-platform.org
    
    ring-platform.org      A     195.95.233.69    # Основной (HAProxy)
    ring-platform.org      A     195.95.233.15    # Вторичный (MetalLB)

    Настройка пространства имен

    Создать пространство имен Ring Установить как пространство по умолчанию для развертывания

    terminal
    bash
    kubectl create namespace ring-platform-org
    
    kubectl config set-context --current --namespace=ring-platform-org

    Развертывание приложения Ring Platform

    ring-platform-deployment.yaml Сервис Ring Platform с MetalLB

    configuration
    yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: ring-platform
    namespace: ring-platform-org
    labels:
      app: ring-platform
    spec:
    replicas: 2
    selector:
      matchLabels:
        app: ring-platform
    template:
      metadata:
        labels:
          app: ring-platform
      spec:
        containers:
        - name: ring-platform
          image: ghcr.io/connectplatform/ring:v0.9.18-ring-platform.org-amd64
          ports:
          - containerPort: 3000
            name: http
          env:
          - name: NODE_ENV
            value: "production"
          - name: NEXTAUTH_URL
            value: "https://ring-platform.org"
          - name: NEXT_PUBLIC_API_URL
            value: "https://ring-platform.org"
          resources:
            requests:
              memory: "512Mi"
              cpu: "250m"
            limits:
              memory: "1Gi"
              cpu: "500m"
          livenessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 30
            periodSeconds: 10
            timeoutSeconds: 5
          readinessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 5
            periodSeconds: 5
            timeoutSeconds: 3
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: ring-platform-service
    namespace: ring-platform-org
    annotations:
      metallb.universe.tf/loadBalancerIPs: 10.10.0.41
    spec:
    selector:
      app: ring-platform
    ports:
    - name: http
      port: 80
      targetPort: 3000
      protocol: TCP
    - name: https
      port: 443
      targetPort: 3000
      protocol: TCP
    type: LoadBalancer
    loadBalancerIP: 10.10.0.41

    Конфигурация NGINX Ingress

    ring-platform-ingress.yaml Основное приложение Документация субдомен

    configuration
    yaml
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
    name: ring-platform-ingress
    namespace: ring-platform-org
    annotations:
      kubernetes.io/ingress.class: "nginx"
      nginx.ingress.kubernetes.io/ssl-redirect: "true"
      nginx.ingress.kubernetes.io/rewrite-target: /
      cert-manager.io/cluster-issuer: "letsencrypt-prod"
      nginx.ingress.kubernetes.io/proxy-body-size: "50m"
      nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
      nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    spec:
    tls:
    - hosts:
      - ring-platform.org
      - www.ring-platform.org
      - docs.ring-platform.org
      secretName: ring-platform-tls
    rules:
    - host: ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80
    - host: www.ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80
    - host: docs.ring-platform.org
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: ring-platform-service
              port:
                number: 80

    Это развертывание Kubernetes обеспечивает масштабируемость корпоративного уровня, высокую доступность и надежное управление трафиком для платформы Ring с использованием балансировщиков нагрузки HAProxy и MetalLB.