OpportunitiesEntities
Docs
    Ring Platform

    Futuro descentralizado que se construye a sí mismo

    Iniciar sesión
    Entities
    Opportunities
    Store
    Docs
    Conceptos de la plataforma
    RING EconomíaSonoratek LLCImpacto globalIA encuentra Web3
    Empezar
    Inicio rápidoCalculadoraHoja de ruta
    Privacidad|Contacto
    v1.104.26|Sonoratek LLC

    Documentation

    Conceptos, valor y escenarios típicos de clon — menos código.

    Primeros pasos
    Requisitos previos
    Instalación
    Validación del primer éxito
    Próximos pasos
    Funcionalidades
    Blogs de miembros
    Personalización
    Ringization playbook
    Despliegue
    Despliegue autoalojado
    Arquitectura
    Arquitectura de News Kingdom
    Desarrollo
    OSS frente a enterprise

    Entrada rápida (CTOs · auditores · agentes)

    Bienvenida — misión y audiencias
    Referencia rápida
    Primeros pasos
    Arquitectura y Auth.js
    Modos de backend y bases de datos (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Lecturas de seguridad y cumplimiento
    ringdom.org — base LegioX
    Código fuente — licencia MIT (GitHub)

    Documentation

    Conceptos, valor y escenarios típicos de clon — menos código.

    Primeros pasos
    Requisitos previos
    Instalación
    Validación del primer éxito
    Próximos pasos
    Funcionalidades
    Blogs de miembros
    Personalización
    Ringization playbook
    Despliegue
    Despliegue autoalojado
    Arquitectura
    Arquitectura de News Kingdom
    Desarrollo
    OSS frente a enterprise

    Entrada rápida (CTOs · auditores · agentes)

    Bienvenida — misión y audiencias
    Referencia rápida
    Primeros pasos
    Arquitectura y Auth.js
    Modos de backend y bases de datos (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Lecturas de seguridad y cumplimiento
    ringdom.org — base LegioX
    Código fuente — licencia MIT (GitHub)

    Documentation

    Conceptos, valor y escenarios típicos de clon — menos código.

    Primeros pasos
    Requisitos previos
    Instalación
    Validación del primer éxito
    Próximos pasos
    Funcionalidades
    Blogs de miembros
    Personalización
    Ringization playbook
    Despliegue
    Despliegue autoalojado
    Arquitectura
    Arquitectura de News Kingdom
    Desarrollo
    OSS frente a enterprise

    Entrada rápida (CTOs · auditores · agentes)

    Bienvenida — misión y audiencias
    Referencia rápida
    Primeros pasos
    Arquitectura y Auth.js
    Modos de backend y bases de datos (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Lecturas de seguridad y cumplimiento
    ringdom.org — base LegioX
    Código fuente — licencia MIT (GitHub)
    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Instalación

    Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página. Completa primero los Requisitos previos. Esta guía coincide con el repositorio de código abierto (connectplatform/ring) y con el valor predeterminado de PostgreSQL como base principal (DB_BACKEND_MODE=k8s-postgres-fcm).

    Instala Ring en tu máquina para el desarrollo local. Final-Split: la app Next.js vive en web/. El install.sh de la raíz del repo delega en web/, o puedes ejecutar ./install.sh directamente desde ring/web.

    CaminoIdeal cuandoResultado
    Recomendado: install.shPrimer clon, estructura white-labelCopia env.local.template → .env.local, crea ring-config.json si falta, genera AUTH_SECRET y ejecuta npm install
    ManualYa gestionas el env y la configuraciónLos mismos archivos a mano; cada copia y cada secreto son responsabilidad tuya
    Tiempo estimado

    Instalación completa con Postgres como base principal (la primera vez): unos 45–90 minutos. ./install.sh --quick con una instancia de PostgreSQL ya existente suele ser más rápido. Aun así tienes que aplicar el esquema y un proveedor OAuth antes de que el inicio de sesión sirva de algo.

    Qué vas a instalar

    ComponenteEntrada verificada
    FrameworkNext.js 16 App Router + React 19
    AutenticaciónAuth.js v5 (auth.ts, AUTH_SECRET, proveedores OAuth)
    Plano de datos predeterminadoPostgreSQL mediante DB_BACKEND_MODE=k8s-postgres-fcm (env obligatorio, sin valor predeterminado silencioso)
    Servidor de desarrolloserver.ts propio: Next.js + túnel WebSocket nativo (/api/tunnel/ws) cuando hay autoalojamiento
    Configuración white-labelring-config.json (Layer1 puede incluir ya los valores de la comunidad; el instalador lo crea desde la plantilla solo si falta)
    Instaladorinstall.sh v2.2.0 (SCRIPT_VERSION), incluye
    Flujo de instalación

    Por qué importa para tu clon

    Estás levantando un clon de desarrollo para que las partes interesadas puedan recorrer la marca, la autenticación y los flujos principales del marketplace antes del alojamiento de producción.

    Requisitos previos

    Node 20+, Git, Postgres, puertos. Confírmalos antes de clonar

    Migraciones de base de datos

    Aplica data/schema.sql y el orden de las migraciones del reino

    Selección del backend de base de datos

    k8s-postgres-fcm frente a supabase-fcm frente a firebase-full

    Camino recomendado: install.sh

    install.sh v2.2.0 prepara el env, el ring-config.json opcional, los secretos y las dependencias. Úsalo para un primer clon limpio.

    Requisitos previos

    • Node.js 20+ (el instalador falla con versiones mayores anteriores)
    • Git y, más adelante, PostgreSQL 14+ (se recomienda 16 con Docker / 18 con Homebrew)
    • Desde un checkout OSS: la raíz del repo o web/ (Final-Split)

    Pasos

    Preguntas frecuentes

    Impacto

    ¿Funcionará mi clon sin Firebase?

    Sí para navegación + Auth.js + CRUD en Postgres cuando DB_BACKEND_MODE=k8s-postgres-fcm. Las claves de cliente y de Admin de Firebase se necesitan para el push FCM, no para la primera carga de la página de inicio.

    ¿Necesito credenciales de pago el primer día?

    No. WayForPay / Stripe vienen después: tras el Primer éxito y antes de las demos de checkout.

    Migración

    ¿Solo el esquema o todas las migraciones del reino?

    Instalaciones nuevas: aplica data/schema.sql y después los incrementos de noticias/pagos/correo según se documenta en Migraciones. No apliques el obsoleto 001_email_crm_schema.sql.

    ¿Monorepo de Ringdom o Docker independiente?

    El mismo nombre de base de datos de la app (ring_platform) y el mismo contrato DB_*. El compose del monorepo usa el volumen ringdom_postgres_data y los scripts de inicialización de infrastructure/postgres/init/.

    Operación

    ¿El puerto 3000 ya está en uso?

    lsof -ti:3000 | xargs kill o PORT=3001 npm run dev.

    ¿Falla el inicio de sesión con Google?

    Comprueba AUTH_GOOGLE_*, la URI de redirección http://localhost:3000/api/auth/callback/google y que AUTH_SECRET no esté vacío.

    ¿Errores del túnel en la consola?

    Confirma RING_DEPLOY_TARGET=self-hosted (y su gemelo público) para el WSS local. En Vercel usa vercel / solo SSE.

    Más: Solución de problemas.

    Documentación relacionada

    Related documentation

    Prerequisites

    Requisito previo: confirma Node, Postgres y los puertos antes de clonar.

    Database Migrations

    Siguiente paso: aplica data/schema.sql y el orden de migraciones del reino después de preparar el env.

    First Success Validation

    Siguiente paso: prueba rápida de salud, autenticación y CRUD cuando npm run dev esté en marcha.

    Database Backend Selection

    En detalle: elige k8s-postgres-fcm, supabase-fcm o firebase-full.

    1. Docs
    2. /Primeros pasos
    3. /Instalación

    Actualizado 14 oct 20268 min de escucha

    Instalación

    Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página. Completa primero los Requisitos previos. Esta guía coincide con el repositorio de código abierto (connectplatform/ring) y con el valor predeterminado de PostgreSQL como base principal (DB_BACKEND_MODE=k8s-postgres-fcm).

    Instala Ring en tu máquina para el desarrollo local. Final-Split: la app Next.js vive en web/. El install.sh de la raíz del repo delega en web/, o puedes ejecutar ./install.sh directamente desde ring/web.

    CaminoIdeal cuandoResultado
    Recomendado: install.shPrimer clon, estructura white-labelCopia env.local.template → .env.local, crea ring-config.json si falta, genera AUTH_SECRET y ejecuta npm install
    ManualYa gestionas el env y la configuraciónLos mismos archivos a mano; cada copia y cada secreto son responsabilidad tuya
    Tiempo estimado

    Instalación completa con Postgres como base principal (la primera vez): unos 45–90 minutos. ./install.sh --quick con una instancia de PostgreSQL ya existente suele ser más rápido. Aun así tienes que aplicar el esquema y un proveedor OAuth antes de que el inicio de sesión sirva de algo.

    Qué vas a instalar

    ComponenteEntrada verificada
    FrameworkNext.js 16 App Router + React 19
    AutenticaciónAuth.js v5 (auth.ts, AUTH_SECRET, proveedores OAuth)
    Plano de datos predeterminadoPostgreSQL mediante DB_BACKEND_MODE=k8s-postgres-fcm (env obligatorio, sin valor predeterminado silencioso)
    Servidor de desarrolloserver.ts propio: Next.js + túnel WebSocket nativo (/api/tunnel/ws) cuando hay autoalojamiento
    Configuración white-labelring-config.json (Layer1 puede incluir ya los valores de la comunidad; el instalador lo crea desde la plantilla solo si falta)
    Instaladorinstall.sh v2.2.0 (SCRIPT_VERSION), incluye
    Flujo de instalación

    Por qué importa para tu clon

    Estás levantando un clon de desarrollo para que las partes interesadas puedan recorrer la marca, la autenticación y los flujos principales del marketplace antes del alojamiento de producción.

    Requisitos previos

    Node 20+, Git, Postgres, puertos. Confírmalos antes de clonar

    Migraciones de base de datos

    Aplica data/schema.sql y el orden de las migraciones del reino

    Selección del backend de base de datos

    k8s-postgres-fcm frente a supabase-fcm frente a firebase-full

    Camino recomendado: install.sh

    install.sh v2.2.0 prepara el env, el ring-config.json opcional, los secretos y las dependencias. Úsalo para un primer clon limpio.

    Requisitos previos

    • Node.js 20+ (el instalador falla con versiones mayores anteriores)
    • Git y, más adelante, PostgreSQL 14+ (se recomienda 16 con Docker / 18 con Homebrew)
    • Desde un checkout OSS: la raíz del repo o web/ (Final-Split)

    Pasos

    Preguntas frecuentes

    Impacto

    ¿Funcionará mi clon sin Firebase?

    Sí para navegación + Auth.js + CRUD en Postgres cuando DB_BACKEND_MODE=k8s-postgres-fcm. Las claves de cliente y de Admin de Firebase se necesitan para el push FCM, no para la primera carga de la página de inicio.

    ¿Necesito credenciales de pago el primer día?

    No. WayForPay / Stripe vienen después: tras el Primer éxito y antes de las demos de checkout.

    Migración

    ¿Solo el esquema o todas las migraciones del reino?

    Instalaciones nuevas: aplica data/schema.sql y después los incrementos de noticias/pagos/correo según se documenta en Migraciones. No apliques el obsoleto 001_email_crm_schema.sql.

    ¿Monorepo de Ringdom o Docker independiente?

    El mismo nombre de base de datos de la app (ring_platform) y el mismo contrato DB_*. El compose del monorepo usa el volumen ringdom_postgres_data y los scripts de inicialización de infrastructure/postgres/init/.

    Operación

    ¿El puerto 3000 ya está en uso?

    lsof -ti:3000 | xargs kill o PORT=3001 npm run dev.

    ¿Falla el inicio de sesión con Google?

    Comprueba AUTH_GOOGLE_*, la URI de redirección http://localhost:3000/api/auth/callback/google y que AUTH_SECRET no esté vacío.

    ¿Errores del túnel en la consola?

    Confirma RING_DEPLOY_TARGET=self-hosted (y su gemelo público) para el WSS local. En Vercel usa vercel / solo SSE.

    Más: Solución de problemas.

    Documentación relacionada

    Related documentation

    Prerequisites

    Requisito previo: confirma Node, Postgres y los puertos antes de clonar.

    Database Migrations

    Siguiente paso: aplica data/schema.sql y el orden de migraciones del reino después de preparar el env.

    First Success Validation

    Siguiente paso: prueba rápida de salud, autenticación y CRUD cuando npm run dev esté en marcha.

    Database Backend Selection

    En detalle: elige k8s-postgres-fcm, supabase-fcm o firebase-full.

    1. Docs
    2. /Primeros pasos
    3. /Instalación

    Actualizado 14 oct 20268 min de escucha

    Instalación

    Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página. Completa primero los Requisitos previos. Esta guía coincide con el repositorio de código abierto (connectplatform/ring) y con el valor predeterminado de PostgreSQL como base principal (DB_BACKEND_MODE=k8s-postgres-fcm).

    Instala Ring en tu máquina para el desarrollo local. Final-Split: la app Next.js vive en web/. El install.sh de la raíz del repo delega en web/, o puedes ejecutar ./install.sh directamente desde ring/web.

    CaminoIdeal cuandoResultado
    Recomendado: install.shPrimer clon, estructura white-labelCopia env.local.template → .env.local, crea ring-config.json si falta, genera AUTH_SECRET y ejecuta npm install
    ManualYa gestionas el env y la configuraciónLos mismos archivos a mano; cada copia y cada secreto son responsabilidad tuya
    Tiempo estimado

    Instalación completa con Postgres como base principal (la primera vez): unos 45–90 minutos. ./install.sh --quick con una instancia de PostgreSQL ya existente suele ser más rápido. Aun así tienes que aplicar el esquema y un proveedor OAuth antes de que el inicio de sesión sirva de algo.

    Qué vas a instalar

    ComponenteEntrada verificada
    FrameworkNext.js 16 App Router + React 19
    AutenticaciónAuth.js v5 (auth.ts, AUTH_SECRET, proveedores OAuth)
    Plano de datos predeterminadoPostgreSQL mediante DB_BACKEND_MODE=k8s-postgres-fcm (env obligatorio, sin valor predeterminado silencioso)
    Servidor de desarrolloserver.ts propio: Next.js + túnel WebSocket nativo (/api/tunnel/ws) cuando hay autoalojamiento
    Configuración white-labelring-config.json (Layer1 puede incluir ya los valores de la comunidad; el instalador lo crea desde la plantilla solo si falta)
    Instaladorinstall.sh v2.2.0 (SCRIPT_VERSION), incluye
    Flujo de instalación

    Por qué importa para tu clon

    Estás levantando un clon de desarrollo para que las partes interesadas puedan recorrer la marca, la autenticación y los flujos principales del marketplace antes del alojamiento de producción.

    Requisitos previos

    Node 20+, Git, Postgres, puertos. Confírmalos antes de clonar

    Migraciones de base de datos

    Aplica data/schema.sql y el orden de las migraciones del reino

    Selección del backend de base de datos

    k8s-postgres-fcm frente a supabase-fcm frente a firebase-full

    Camino recomendado: install.sh

    install.sh v2.2.0 prepara el env, el ring-config.json opcional, los secretos y las dependencias. Úsalo para un primer clon limpio.

    Requisitos previos

    • Node.js 20+ (el instalador falla con versiones mayores anteriores)
    • Git y, más adelante, PostgreSQL 14+ (se recomienda 16 con Docker / 18 con Homebrew)
    • Desde un checkout OSS: la raíz del repo o web/ (Final-Split)

    Pasos

    Preguntas frecuentes

    Impacto

    ¿Funcionará mi clon sin Firebase?

    Sí para navegación + Auth.js + CRUD en Postgres cuando DB_BACKEND_MODE=k8s-postgres-fcm. Las claves de cliente y de Admin de Firebase se necesitan para el push FCM, no para la primera carga de la página de inicio.

    ¿Necesito credenciales de pago el primer día?

    No. WayForPay / Stripe vienen después: tras el Primer éxito y antes de las demos de checkout.

    Migración

    ¿Solo el esquema o todas las migraciones del reino?

    Instalaciones nuevas: aplica data/schema.sql y después los incrementos de noticias/pagos/correo según se documenta en Migraciones. No apliques el obsoleto 001_email_crm_schema.sql.

    ¿Monorepo de Ringdom o Docker independiente?

    El mismo nombre de base de datos de la app (ring_platform) y el mismo contrato DB_*. El compose del monorepo usa el volumen ringdom_postgres_data y los scripts de inicialización de infrastructure/postgres/init/.

    Operación

    ¿El puerto 3000 ya está en uso?

    lsof -ti:3000 | xargs kill o PORT=3001 npm run dev.

    ¿Falla el inicio de sesión con Google?

    Comprueba AUTH_GOOGLE_*, la URI de redirección http://localhost:3000/api/auth/callback/google y que AUTH_SECRET no esté vacío.

    ¿Errores del túnel en la consola?

    Confirma RING_DEPLOY_TARGET=self-hosted (y su gemelo público) para el WSS local. En Vercel usa vercel / solo SSE.

    Más: Solución de problemas.

    Documentación relacionada

    Related documentation

    Prerequisites

    Requisito previo: confirma Node, Postgres y los puertos antes de clonar.

    Database Migrations

    Siguiente paso: aplica data/schema.sql y el orden de migraciones del reino después de preparar el env.

    First Success Validation

    Siguiente paso: prueba rápida de salud, autenticación y CRUD cuando npm run dev esté en marcha.

    Database Backend Selection

    En detalle: elige k8s-postgres-fcm, supabase-fcm o firebase-full.

    1. Docs
    2. /Primeros pasos
    3. /Instalación

    Actualizado 14 oct 20268 min de escucha

    setup-db

    Validación del primer éxito

    Lista de prueba rápida después de npm run dev

    Escenarios típicos

    EscenarioOpción de instalaciónPara cuando…
    Explorar la UI / la marca./install.sh --quick + Postgres (o un prototipo corto firebase-full)La página de inicio carga sin errores del adaptador
    Local con paridad de producciónPostgres como base principal + migracionesLa autenticación y un camino CRUD superan el Primer éxito
    Colono gestionado por RingdomSáltate casi todo estoEl clúster ya está aprovisionado. Personaliza mediante ring-config / ops, no con Docker local

    Los pagos, el push FCM y las billeteras Web3 no son necesarios para el primer arranque. Añádelos antes del checkout o del push en producción. Consulta Entorno.

    1. 1

      Clona y ejecuta el instalador

      Flags y modos útiles:

      Flag / modoEfecto
      --quickValores predeterminados no interactivos
      --clone-name NAMESlug white-label en ring-config.json
      dev / prodModo de configuración explícito
      setup-dbCrea la base de datos y aplica data/schema.sql (fuente de verdad aplanada)
      --helpLista completa de opciones
    2. 2

      Completa los valores obligatorios de .env.local

      La plantilla se copia automáticamente. El instalador genera AUTH_SECRET cuando openssl está disponible. Antes del primer arranque útil, define las variables de la base de datos y al menos un proveedor OAuth (consulta Configurar el entorno).

    3. 3

      Aplica el esquema de PostgreSQL

      Usa las pestañas de Docker / servidor existente / monorepo de Ringdom de abajo, o:

      Orden incremental completo: Migraciones de base de datos.

    Camino manual

    Úsalo cuando ya controlas los archivos de env o el gestor de paquetes.

    1. 1

      Clona e instala las dependencias

    2. 2

      Crea el entorno y la configuración del clon

      Edita ring-config.json: clone.displayName, domains.development y features para tu instancia white-label. Layer1 a menudo ya incluye en el repositorio el ring-config.json de la comunidad; no lo sobrescribas a la ligera.

    Preparar PostgreSQL

    El desarrollo local al estilo de producción usa la base de datos ring_platform con el usuario ring_user. Fuente de verdad del esquema de la app: data/schema.sql (familia v4, consulta las filas de schema_versions en el volcado).

    Obligatorio para k8s-postgres-fcm

    DB_BACKEND_MODE es obligatorio (lib/database/backend-mode-config.ts). La plataforma espera PostgreSQL cuando su valor es k8s-postgres-fcm (el predeterminado de la plantilla). Consulta Migraciones de base de datos para el orden de aplicación.

    Clon independiente, sin necesidad del monorepo de Ringdom:

    Aplica el esquema base y después los incrementos del reino (versión abreviada; la matriz completa está en la página de migraciones):

    No apliques 001

    001_email_crm_schema.sql está obsoleto. Usa 009 + 010 con JSONB. Los incrementos idempotentes ya integrados en schema.sql se explican en Migraciones.

    Configurar el entorno

    Define estos valores en .env.local (a partir de env.local.template). Los valores mostrados están pensados para desarrollo local. El NEXT_PUBLIC_BASE_URL de la plantilla puede apuntar por defecto al portal público; cámbialo para localhost.

    Modo de backend y base de datos

    Recomendado

    Datos de la aplicación en PostgreSQL; Firebase Admin se usa solo para el push FCM cuando está configurado. Coincide con la configuración de producción de ring-platform.org.

    Auth.js y URL

    URI de redirección de OAuth

    En Google Cloud Console, añade la URI de redirección autorizada: http://localhost:3000/api/auth/callback/google

    Túnel, FCM e idiomas

    npm run dev ejecuta node --import tsx server.ts. En Vercel, define RING_DEPLOY_TARGET=vercel para usar solo SSE (sin WSS nativo).

    Las claves de FCM (AUTH_FIREBASE_*, NEXT_PUBLIC_FIREBASE_*) están en env.local.template y son opcionales para la página de inicio y la autenticación con Postgres como base principal. Pon AUTH_FIREBASE_PRIVATE_KEY entre comillas con \\n literales; nunca hagas commit de .env.local.

    Ejecutar el servidor de desarrollo

    1. 1

      Inicia la app

      Espera líneas de log parecidas a:

      text
      
      > Ready on http://localhost:3000 [self-hosted]
      [server] Native WSS attached at /api/tunnel/ws (RING_DEPLOY_TARGET=self-hosted)

      La primera compilación puede tardar decenas de segundos.

    2. 2

      Abre y haz una prueba rápida

      Visita http://localhost:3000: la página de inicio se renderiza mediante HomeWrapper (components/wrappers/home-wrapper.tsx) y los archivos de idioma de locales/{en,uk,ru}/.

      Opcional:

      Forma de la respuesta de salud: app/api/health/route.ts. status es healthy | degraded | unhealthy. Si falta AUTH_SECRET → degraded y HTTP 503.

    Instalación completada

    Si la página de inicio carga sin errores del adaptador de base de datos, continúa con la Validación del primer éxito.

    Mapa de módulos (rutas verificadas)

    AspectoRuta
    Instaladorinstall.sh (lanzador en la raíz → web/install.sh)
    Plantilla del envenv.local.template
    Modo de backendlib/database/backend-mode-config.ts
    Fuente de verdad del esquemadata/schema.sql
    Entrada de desarrollopackage.json → server.ts
    WSS del túnelserver.ts → /api/tunnel/ws
    Saludapp/api/health/route.ts

    Local Setup

    Mismo flujo: estructura del proyecto y herramientas locales del día a día después de instalar.

    setup-db

    Validación del primer éxito

    Lista de prueba rápida después de npm run dev

    Escenarios típicos

    EscenarioOpción de instalaciónPara cuando…
    Explorar la UI / la marca./install.sh --quick + Postgres (o un prototipo corto firebase-full)La página de inicio carga sin errores del adaptador
    Local con paridad de producciónPostgres como base principal + migracionesLa autenticación y un camino CRUD superan el Primer éxito
    Colono gestionado por RingdomSáltate casi todo estoEl clúster ya está aprovisionado. Personaliza mediante ring-config / ops, no con Docker local

    Los pagos, el push FCM y las billeteras Web3 no son necesarios para el primer arranque. Añádelos antes del checkout o del push en producción. Consulta Entorno.

    1. 1

      Clona y ejecuta el instalador

      Flags y modos útiles:

      Flag / modoEfecto
      --quickValores predeterminados no interactivos
      --clone-name NAMESlug white-label en ring-config.json
      dev / prodModo de configuración explícito
      setup-dbCrea la base de datos y aplica data/schema.sql (fuente de verdad aplanada)
      --helpLista completa de opciones
    2. 2

      Completa los valores obligatorios de .env.local

      La plantilla se copia automáticamente. El instalador genera AUTH_SECRET cuando openssl está disponible. Antes del primer arranque útil, define las variables de la base de datos y al menos un proveedor OAuth (consulta Configurar el entorno).

    3. 3

      Aplica el esquema de PostgreSQL

      Usa las pestañas de Docker / servidor existente / monorepo de Ringdom de abajo, o:

      Orden incremental completo: Migraciones de base de datos.

    Camino manual

    Úsalo cuando ya controlas los archivos de env o el gestor de paquetes.

    1. 1

      Clona e instala las dependencias

    2. 2

      Crea el entorno y la configuración del clon

      Edita ring-config.json: clone.displayName, domains.development y features para tu instancia white-label. Layer1 a menudo ya incluye en el repositorio el ring-config.json de la comunidad; no lo sobrescribas a la ligera.

    Preparar PostgreSQL

    El desarrollo local al estilo de producción usa la base de datos ring_platform con el usuario ring_user. Fuente de verdad del esquema de la app: data/schema.sql (familia v4, consulta las filas de schema_versions en el volcado).

    Obligatorio para k8s-postgres-fcm

    DB_BACKEND_MODE es obligatorio (lib/database/backend-mode-config.ts). La plataforma espera PostgreSQL cuando su valor es k8s-postgres-fcm (el predeterminado de la plantilla). Consulta Migraciones de base de datos para el orden de aplicación.

    Clon independiente, sin necesidad del monorepo de Ringdom:

    Aplica el esquema base y después los incrementos del reino (versión abreviada; la matriz completa está en la página de migraciones):

    No apliques 001

    001_email_crm_schema.sql está obsoleto. Usa 009 + 010 con JSONB. Los incrementos idempotentes ya integrados en schema.sql se explican en Migraciones.

    Configurar el entorno

    Define estos valores en .env.local (a partir de env.local.template). Los valores mostrados están pensados para desarrollo local. El NEXT_PUBLIC_BASE_URL de la plantilla puede apuntar por defecto al portal público; cámbialo para localhost.

    Modo de backend y base de datos

    Recomendado

    Datos de la aplicación en PostgreSQL; Firebase Admin se usa solo para el push FCM cuando está configurado. Coincide con la configuración de producción de ring-platform.org.

    Auth.js y URL

    URI de redirección de OAuth

    En Google Cloud Console, añade la URI de redirección autorizada: http://localhost:3000/api/auth/callback/google

    Túnel, FCM e idiomas

    npm run dev ejecuta node --import tsx server.ts. En Vercel, define RING_DEPLOY_TARGET=vercel para usar solo SSE (sin WSS nativo).

    Las claves de FCM (AUTH_FIREBASE_*, NEXT_PUBLIC_FIREBASE_*) están en env.local.template y son opcionales para la página de inicio y la autenticación con Postgres como base principal. Pon AUTH_FIREBASE_PRIVATE_KEY entre comillas con \\n literales; nunca hagas commit de .env.local.

    Ejecutar el servidor de desarrollo

    1. 1

      Inicia la app

      Espera líneas de log parecidas a:

      text
      
      > Ready on http://localhost:3000 [self-hosted]
      [server] Native WSS attached at /api/tunnel/ws (RING_DEPLOY_TARGET=self-hosted)

      La primera compilación puede tardar decenas de segundos.

    2. 2

      Abre y haz una prueba rápida

      Visita http://localhost:3000: la página de inicio se renderiza mediante HomeWrapper (components/wrappers/home-wrapper.tsx) y los archivos de idioma de locales/{en,uk,ru}/.

      Opcional:

      Forma de la respuesta de salud: app/api/health/route.ts. status es healthy | degraded | unhealthy. Si falta AUTH_SECRET → degraded y HTTP 503.

    Instalación completada

    Si la página de inicio carga sin errores del adaptador de base de datos, continúa con la Validación del primer éxito.

    Mapa de módulos (rutas verificadas)

    AspectoRuta
    Instaladorinstall.sh (lanzador en la raíz → web/install.sh)
    Plantilla del envenv.local.template
    Modo de backendlib/database/backend-mode-config.ts
    Fuente de verdad del esquemadata/schema.sql
    Entrada de desarrollopackage.json → server.ts
    WSS del túnelserver.ts → /api/tunnel/ws
    Saludapp/api/health/route.ts

    Local Setup

    Mismo flujo: estructura del proyecto y herramientas locales del día a día después de instalar.

    setup-db

    Validación del primer éxito

    Lista de prueba rápida después de npm run dev

    Escenarios típicos

    EscenarioOpción de instalaciónPara cuando…
    Explorar la UI / la marca./install.sh --quick + Postgres (o un prototipo corto firebase-full)La página de inicio carga sin errores del adaptador
    Local con paridad de producciónPostgres como base principal + migracionesLa autenticación y un camino CRUD superan el Primer éxito
    Colono gestionado por RingdomSáltate casi todo estoEl clúster ya está aprovisionado. Personaliza mediante ring-config / ops, no con Docker local

    Los pagos, el push FCM y las billeteras Web3 no son necesarios para el primer arranque. Añádelos antes del checkout o del push en producción. Consulta Entorno.

    1. 1

      Clona y ejecuta el instalador

      Flags y modos útiles:

      Flag / modoEfecto
      --quickValores predeterminados no interactivos
      --clone-name NAMESlug white-label en ring-config.json
      dev / prodModo de configuración explícito
      setup-dbCrea la base de datos y aplica data/schema.sql (fuente de verdad aplanada)
      --helpLista completa de opciones
    2. 2

      Completa los valores obligatorios de .env.local

      La plantilla se copia automáticamente. El instalador genera AUTH_SECRET cuando openssl está disponible. Antes del primer arranque útil, define las variables de la base de datos y al menos un proveedor OAuth (consulta Configurar el entorno).

    3. 3

      Aplica el esquema de PostgreSQL

      Usa las pestañas de Docker / servidor existente / monorepo de Ringdom de abajo, o:

      Orden incremental completo: Migraciones de base de datos.

    Camino manual

    Úsalo cuando ya controlas los archivos de env o el gestor de paquetes.

    1. 1

      Clona e instala las dependencias

    2. 2

      Crea el entorno y la configuración del clon

      Edita ring-config.json: clone.displayName, domains.development y features para tu instancia white-label. Layer1 a menudo ya incluye en el repositorio el ring-config.json de la comunidad; no lo sobrescribas a la ligera.

    Preparar PostgreSQL

    El desarrollo local al estilo de producción usa la base de datos ring_platform con el usuario ring_user. Fuente de verdad del esquema de la app: data/schema.sql (familia v4, consulta las filas de schema_versions en el volcado).

    Obligatorio para k8s-postgres-fcm

    DB_BACKEND_MODE es obligatorio (lib/database/backend-mode-config.ts). La plataforma espera PostgreSQL cuando su valor es k8s-postgres-fcm (el predeterminado de la plantilla). Consulta Migraciones de base de datos para el orden de aplicación.

    Clon independiente, sin necesidad del monorepo de Ringdom:

    Aplica el esquema base y después los incrementos del reino (versión abreviada; la matriz completa está en la página de migraciones):

    No apliques 001

    001_email_crm_schema.sql está obsoleto. Usa 009 + 010 con JSONB. Los incrementos idempotentes ya integrados en schema.sql se explican en Migraciones.

    Configurar el entorno

    Define estos valores en .env.local (a partir de env.local.template). Los valores mostrados están pensados para desarrollo local. El NEXT_PUBLIC_BASE_URL de la plantilla puede apuntar por defecto al portal público; cámbialo para localhost.

    Modo de backend y base de datos

    Recomendado

    Datos de la aplicación en PostgreSQL; Firebase Admin se usa solo para el push FCM cuando está configurado. Coincide con la configuración de producción de ring-platform.org.

    Auth.js y URL

    URI de redirección de OAuth

    En Google Cloud Console, añade la URI de redirección autorizada: http://localhost:3000/api/auth/callback/google

    Túnel, FCM e idiomas

    npm run dev ejecuta node --import tsx server.ts. En Vercel, define RING_DEPLOY_TARGET=vercel para usar solo SSE (sin WSS nativo).

    Las claves de FCM (AUTH_FIREBASE_*, NEXT_PUBLIC_FIREBASE_*) están en env.local.template y son opcionales para la página de inicio y la autenticación con Postgres como base principal. Pon AUTH_FIREBASE_PRIVATE_KEY entre comillas con \\n literales; nunca hagas commit de .env.local.

    Ejecutar el servidor de desarrollo

    1. 1

      Inicia la app

      Espera líneas de log parecidas a:

      text
      
      > Ready on http://localhost:3000 [self-hosted]
      [server] Native WSS attached at /api/tunnel/ws (RING_DEPLOY_TARGET=self-hosted)

      La primera compilación puede tardar decenas de segundos.

    2. 2

      Abre y haz una prueba rápida

      Visita http://localhost:3000: la página de inicio se renderiza mediante HomeWrapper (components/wrappers/home-wrapper.tsx) y los archivos de idioma de locales/{en,uk,ru}/.

      Opcional:

      Forma de la respuesta de salud: app/api/health/route.ts. status es healthy | degraded | unhealthy. Si falta AUTH_SECRET → degraded y HTTP 503.

    Instalación completada

    Si la página de inicio carga sin errores del adaptador de base de datos, continúa con la Validación del primer éxito.

    Mapa de módulos (rutas verificadas)

    AspectoRuta
    Instaladorinstall.sh (lanzador en la raíz → web/install.sh)
    Plantilla del envenv.local.template
    Modo de backendlib/database/backend-mode-config.ts
    Fuente de verdad del esquemadata/schema.sql
    Entrada de desarrollopackage.json → server.ts
    WSS del túnelserver.ts → /api/tunnel/ws
    Saludapp/api/health/route.ts

    Local Setup

    Mismo flujo: estructura del proyecto y herramientas locales del día a día después de instalar.