Conceptos, valor y escenarios típicos de clon — menos código.
Conceptos, valor y escenarios típicos de clon — menos código.
Preparing Ring content
Preparing Ring content
Preparing Ring content
Antes de la Instalación: necesitas una máquina que pueda ejecutar Node.js 20+, una instancia de PostgreSQL para trabajar con paridad de producción y (para que los testers inicien sesión) al menos un camino de Auth.js. Las versiones de abajo coinciden con install.sh, INSTALL.md y env.local.template, no con la antigua guía de Node 18. Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página.
Ring Platform es una aplicación Next.js 16 + React 19 con un DB_BACKEND_MODE obligatorio. Los clones locales y con paridad de producción usan PostgreSQL como base principal (k8s-postgres-fcm). Solo Firestore (firebase-full) es un camino de prototipo más limitado.
| Camino | Quién | Qué debes aportar | Qué te ahorras |
|---|---|---|---|
Autoalojamiento OSS (GitHub + install.sh) | Indie / integrador contratado | Node 20+, Git, Postgres (o Docker), .env.local, OAuth o Ring Mailer | k8s gestionado / entrega al colono |
| Gestionado por Ringdom (alojamiento llave en mano) | Fundador / colono | Dominio + brief del colono; secretos del clúster después de la entrega | Casi toda esta lista en local |
Prototipo firebase-full | Prueba rápida de UI | Proyecto de Firebase + Node 20+ | Profundidad de ERP / PaymentConductor / News Kingdom sobre Postgres |
Predeterminado para ring-platform.org y la paridad entre clones: DB_BACKEND_MODE=k8s-postgres-fcm. Consulta Modos de backend y Selección de base de datos.
| Requisito | Base verificada | Fuente / notas |
|---|---|---|
| Node.js | v20+ (se recomienda v22+) | install.sh falla por debajo de 20; INSTALL.md recomienda 22+ |
| npm | 10+ | INSTALL.md; el instalador ejecuta npm install |
| Git | Reciente | Clona connectplatform/ring |
| PostgreSQL | 14+ (imagen de Docker 16; Homebrew 18 es habitual en la documentación) | Base de datos ring_platform, usuario ring_user (env.local.template) |
Estás preparando un clon white-label: la marca en ring-config.json, los secretos en .env.local y (para las funciones de producción) Postgres con data/schema.sql aplicado.
Node 20+, install.sh --quick, Postgres o un firebase-full de corta duración. Consulta Selección de base de datos.
Postgres como base principal + data/schema.sql (v4.1+) + migraciones del reino: tienda, PaymentConductor, profundidad de News Kingdom.
Sigue el flujo de la guía de Primeros pasos: cumple esta lista → ejecuta install.sh → aplica el esquema → haz una prueba rápida.
./install.sh --quick o env manual).Decide entre autoalojamiento OSS y gestión por Ringdom. Libera 3000 y 5432 (o define DB_PORT / PORT de la app a propósito).
Crea la base de datos ring_platform / el usuario ring_user (o haz que coincidan con tu DATABASE_URL). Confirma que CREATE EXTENSION postgis funcionará antes de aplicar data/schema.sql.
Copia env.local.template → .env.local (o deja que lo haga install.sh). Define DB_BACKEND_MODE, genera AUTH_SECRET / WALLET_ENCRYPTION_KEY y añade un camino de autenticación. No pegues secretos de producción en la documentación ni en git.
Sí, el proceso arranca: lo primero que importa es AUTH_SECRET + DB_BACKEND_MODE. El inicio de sesión de los testers sigue necesitando al menos un proveedor: Google, Apple o Ring Mailer (Ethereal/SMTP).
No para los datos de la app con Postgres como base principal. Firebase Admin / NEXT_PUBLIC_FIREBASE_* importan cuando activas el push FCM o cuando eliges firebase-full.
No para un npm run dev local con una sola réplica. Define REDIS_URL cuando quieras compartir rate-limit / set-nx entre procesos.
No. install.sh requiere Node 20+. Es preferible Node 22+, según los ejemplos de solución de problemas de INSTALL.md.
schema.sql?Instala PostGIS para tu Postgres (Homebrew postgis o una imagen con PostGIS). El esquema aplanado 4.1.0 activa la extensión en una aplicación desde cero.
/api/health no está sano?Comprueba que .env.local tenga AUTH_SECRET. En las rutas de detección de Postgres, la ruta de salud trata ese secreto como crítico. Las variables de Firebase que faltan importan más en configuraciones sin Postgres.
Para el primer arranque, en gran parte sí. Consérvala como contrato para cuando más adelante añadas OAuth propio, pagos o un fork de Layer1.
Siguiente paso: ejecuta install.sh y aplica el esquema después de esta lista.
Depende de: Postgres + PostGIS antes de aplicar data/schema.sql.
Siguiente paso: prueba rápida después de npm run dev.
En detalle: toda la superficie de env.local.template más allá del mínimo del primer arranque.
¿Cumples los requisitos? Continúa con la Instalación.
Antes de la Instalación: necesitas una máquina que pueda ejecutar Node.js 20+, una instancia de PostgreSQL para trabajar con paridad de producción y (para que los testers inicien sesión) al menos un camino de Auth.js. Las versiones de abajo coinciden con install.sh, INSTALL.md y env.local.template, no con la antigua guía de Node 18. Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página.
Ring Platform es una aplicación Next.js 16 + React 19 con un DB_BACKEND_MODE obligatorio. Los clones locales y con paridad de producción usan PostgreSQL como base principal (k8s-postgres-fcm). Solo Firestore (firebase-full) es un camino de prototipo más limitado.
| Camino | Quién | Qué debes aportar | Qué te ahorras |
|---|---|---|---|
Autoalojamiento OSS (GitHub + install.sh) | Indie / integrador contratado | Node 20+, Git, Postgres (o Docker), .env.local, OAuth o Ring Mailer | k8s gestionado / entrega al colono |
| Gestionado por Ringdom (alojamiento llave en mano) | Fundador / colono | Dominio + brief del colono; secretos del clúster después de la entrega | Casi toda esta lista en local |
Prototipo firebase-full | Prueba rápida de UI | Proyecto de Firebase + Node 20+ | Profundidad de ERP / PaymentConductor / News Kingdom sobre Postgres |
Predeterminado para ring-platform.org y la paridad entre clones: DB_BACKEND_MODE=k8s-postgres-fcm. Consulta Modos de backend y Selección de base de datos.
| Requisito | Base verificada | Fuente / notas |
|---|---|---|
| Node.js | v20+ (se recomienda v22+) | install.sh falla por debajo de 20; INSTALL.md recomienda 22+ |
| npm | 10+ | INSTALL.md; el instalador ejecuta npm install |
| Git | Reciente | Clona connectplatform/ring |
| PostgreSQL | 14+ (imagen de Docker 16; Homebrew 18 es habitual en la documentación) | Base de datos ring_platform, usuario ring_user (env.local.template) |
Estás preparando un clon white-label: la marca en ring-config.json, los secretos en .env.local y (para las funciones de producción) Postgres con data/schema.sql aplicado.
Node 20+, install.sh --quick, Postgres o un firebase-full de corta duración. Consulta Selección de base de datos.
Postgres como base principal + data/schema.sql (v4.1+) + migraciones del reino: tienda, PaymentConductor, profundidad de News Kingdom.
Sigue el flujo de la guía de Primeros pasos: cumple esta lista → ejecuta install.sh → aplica el esquema → haz una prueba rápida.
./install.sh --quick o env manual).Decide entre autoalojamiento OSS y gestión por Ringdom. Libera 3000 y 5432 (o define DB_PORT / PORT de la app a propósito).
Crea la base de datos ring_platform / el usuario ring_user (o haz que coincidan con tu DATABASE_URL). Confirma que CREATE EXTENSION postgis funcionará antes de aplicar data/schema.sql.
Copia env.local.template → .env.local (o deja que lo haga install.sh). Define DB_BACKEND_MODE, genera AUTH_SECRET / WALLET_ENCRYPTION_KEY y añade un camino de autenticación. No pegues secretos de producción en la documentación ni en git.
Sí, el proceso arranca: lo primero que importa es AUTH_SECRET + DB_BACKEND_MODE. El inicio de sesión de los testers sigue necesitando al menos un proveedor: Google, Apple o Ring Mailer (Ethereal/SMTP).
No para los datos de la app con Postgres como base principal. Firebase Admin / NEXT_PUBLIC_FIREBASE_* importan cuando activas el push FCM o cuando eliges firebase-full.
No para un npm run dev local con una sola réplica. Define REDIS_URL cuando quieras compartir rate-limit / set-nx entre procesos.
No. install.sh requiere Node 20+. Es preferible Node 22+, según los ejemplos de solución de problemas de INSTALL.md.
schema.sql?Instala PostGIS para tu Postgres (Homebrew postgis o una imagen con PostGIS). El esquema aplanado 4.1.0 activa la extensión en una aplicación desde cero.
/api/health no está sano?Comprueba que .env.local tenga AUTH_SECRET. En las rutas de detección de Postgres, la ruta de salud trata ese secreto como crítico. Las variables de Firebase que faltan importan más en configuraciones sin Postgres.
Para el primer arranque, en gran parte sí. Consérvala como contrato para cuando más adelante añadas OAuth propio, pagos o un fork de Layer1.
Siguiente paso: ejecuta install.sh y aplica el esquema después de esta lista.
Depende de: Postgres + PostGIS antes de aplicar data/schema.sql.
Siguiente paso: prueba rápida después de npm run dev.
En detalle: toda la superficie de env.local.template más allá del mínimo del primer arranque.
¿Cumples los requisitos? Continúa con la Instalación.
Antes de la Instalación: necesitas una máquina que pueda ejecutar Node.js 20+, una instancia de PostgreSQL para trabajar con paridad de producción y (para que los testers inicien sesión) al menos un camino de Auth.js. Las versiones de abajo coinciden con install.sh, INSTALL.md y env.local.template, no con la antigua guía de Node 18. Usa las pestañas Fundador / Desarrollador de la barra lateral para filtrar esta página.
Ring Platform es una aplicación Next.js 16 + React 19 con un DB_BACKEND_MODE obligatorio. Los clones locales y con paridad de producción usan PostgreSQL como base principal (k8s-postgres-fcm). Solo Firestore (firebase-full) es un camino de prototipo más limitado.
| Camino | Quién | Qué debes aportar | Qué te ahorras |
|---|---|---|---|
Autoalojamiento OSS (GitHub + install.sh) | Indie / integrador contratado | Node 20+, Git, Postgres (o Docker), .env.local, OAuth o Ring Mailer | k8s gestionado / entrega al colono |
| Gestionado por Ringdom (alojamiento llave en mano) | Fundador / colono | Dominio + brief del colono; secretos del clúster después de la entrega | Casi toda esta lista en local |
Prototipo firebase-full | Prueba rápida de UI | Proyecto de Firebase + Node 20+ | Profundidad de ERP / PaymentConductor / News Kingdom sobre Postgres |
Predeterminado para ring-platform.org y la paridad entre clones: DB_BACKEND_MODE=k8s-postgres-fcm. Consulta Modos de backend y Selección de base de datos.
| Requisito | Base verificada | Fuente / notas |
|---|---|---|
| Node.js | v20+ (se recomienda v22+) | install.sh falla por debajo de 20; INSTALL.md recomienda 22+ |
| npm | 10+ | INSTALL.md; el instalador ejecuta npm install |
| Git | Reciente | Clona connectplatform/ring |
| PostgreSQL | 14+ (imagen de Docker 16; Homebrew 18 es habitual en la documentación) | Base de datos ring_platform, usuario ring_user (env.local.template) |
Estás preparando un clon white-label: la marca en ring-config.json, los secretos en .env.local y (para las funciones de producción) Postgres con data/schema.sql aplicado.
Node 20+, install.sh --quick, Postgres o un firebase-full de corta duración. Consulta Selección de base de datos.
Postgres como base principal + data/schema.sql (v4.1+) + migraciones del reino: tienda, PaymentConductor, profundidad de News Kingdom.
Sigue el flujo de la guía de Primeros pasos: cumple esta lista → ejecuta install.sh → aplica el esquema → haz una prueba rápida.
./install.sh --quick o env manual).Decide entre autoalojamiento OSS y gestión por Ringdom. Libera 3000 y 5432 (o define DB_PORT / PORT de la app a propósito).
Crea la base de datos ring_platform / el usuario ring_user (o haz que coincidan con tu DATABASE_URL). Confirma que CREATE EXTENSION postgis funcionará antes de aplicar data/schema.sql.
Copia env.local.template → .env.local (o deja que lo haga install.sh). Define DB_BACKEND_MODE, genera AUTH_SECRET / WALLET_ENCRYPTION_KEY y añade un camino de autenticación. No pegues secretos de producción en la documentación ni en git.
Sí, el proceso arranca: lo primero que importa es AUTH_SECRET + DB_BACKEND_MODE. El inicio de sesión de los testers sigue necesitando al menos un proveedor: Google, Apple o Ring Mailer (Ethereal/SMTP).
No para los datos de la app con Postgres como base principal. Firebase Admin / NEXT_PUBLIC_FIREBASE_* importan cuando activas el push FCM o cuando eliges firebase-full.
No para un npm run dev local con una sola réplica. Define REDIS_URL cuando quieras compartir rate-limit / set-nx entre procesos.
No. install.sh requiere Node 20+. Es preferible Node 22+, según los ejemplos de solución de problemas de INSTALL.md.
schema.sql?Instala PostGIS para tu Postgres (Homebrew postgis o una imagen con PostGIS). El esquema aplanado 4.1.0 activa la extensión en una aplicación desde cero.
/api/health no está sano?Comprueba que .env.local tenga AUTH_SECRET. En las rutas de detección de Postgres, la ruta de salud trata ese secreto como crítico. Las variables de Firebase que faltan importan más en configuraciones sin Postgres.
Para el primer arranque, en gran parte sí. Consérvala como contrato para cuando más adelante añadas OAuth propio, pagos o un fork de Layer1.
Siguiente paso: ejecuta install.sh y aplica el esquema después de esta lista.
Depende de: Postgres + PostGIS antes de aplicar data/schema.sql.
Siguiente paso: prueba rápida después de npm run dev.
En detalle: toda la superficie de env.local.template más allá del mínimo del primer arranque.
¿Cumples los requisitos? Continúa con la Instalación.
| PostGIS |
Necesario para un data/schema.sql desde cero |
La cabecera del esquema activa CREATE EXTENSION postgis (v4.1.0+) |
| Puertos | 3000 (app), 5432 (Postgres) | Servidor propio: node --import tsx server.ts mediante npm run dev |
| Redis | Opcional | REDIS_URL: rate-limit / set-nx recurren a memoria del proceso si no está definido |
| Disco / RAM | Un portátil cómodo | Solo orientación para operadores, no es un SLA medido |
Al menos un camino de Auth.js: Google OAuth, Apple o Ring Mailer (SMTP_* o EMAIL_MODE=ethereal).
| Cuenta / artefacto | Cuándo se necesita |
|---|---|
Clon de GitHub de connectplatform/ring | Siempre para el autoalojamiento OSS |
| PostgreSQL (Docker local, Homebrew o alojado) | Modos Postgres (k8s-postgres-fcm, supabase-fcm) |
| Cliente OAuth de Google Cloud o Apple Sign In o SMTP / Ethereal | Antes del inicio de sesión real de los testers |
| Proyecto de Firebase (claves FCM) | Opcional hasta las notificaciones push |
| WayForPay / Stripe | Solo antes del checkout de PaymentConductor |
| Entrega de colono de Ringdom | Si te saltas el autoalojamiento y usas alojamiento gestionado |
| Camino | Primera pasada típica | Resultado |
|---|---|---|
./install.sh --quick + Postgres existente | Decenas de minutos | Estructura del env; aún tienes que aplicar el esquema y OAuth |
| Arranque completo con Postgres como base principal | Una sesión de alrededor de una hora | Coincide con un stack local al estilo de ring-platform.org |
Prototipo firebase-full | Prueba más corta | Se salta la profundidad de ERP / conductor |
Los tiempos varían según la máquina y la configuración de credenciales. Tómalos como rangos de planificación, no como SLA.
El alojamiento gestionado por Ringdom se salta casi toda esta lista: los colonos reciben un clúster ya configurado. Quienes se autoalojan desde GitHub siguen esta página (OSS frente a enterprise).
supabase-fcm | Postgres en Supabase + FCM opcional |
firebase-full | Solo prototipo con Firestore |
DATABASE_MODE se ha eliminado: no lo definas. En detalle: Modos de backend.
Proveedores registrados en auth.ts: Credentials de Ring Mailer (email-otp, email-magic, credentials), OAuth de Google, Google One Tap, Apple y credenciales de billetera/cripto. OAuth de GitHub/Discord no está en la lista predeterminada de proveedores. Resend / AUTH_RESEND_KEY no forman parte de la fuente de verdad del mailer (usa SMTP_* / Ethereal).
Opcional para funciones posteriores:
BLOB_READ_WRITE_TOKEN: subidas a Vercel BlobWAYFORPAY_* / STRIPE_*: PaymentConductorNEXT_PUBLIC_FIREBASE_* + cuenta de servicio de Admin: push FCM (no la base de datos Firestore en Postgres como base principal)OPENAI_API_KEY / ANTHROPIC_API_KEY: AI matcher / Email CRMREDIS_URL: opcional; si no está definido se usa la memoria del procesoNunca hagas commit de .env.local. Consulta Configuración del entorno.
Espera "healthy" cuando AUTH_SECRET está definido (app/api/health/route.ts trata la ausencia de AUTH_SECRET como crítica). Consulta Monitorización.
install.sh puede generar docker-compose.yml a partir de docker-compose.template.yml (app + postgres:16-alpine + redis:7-alpine, más un perfil opcional de monitorización). Para el npm run dev del primer día basta con un solo contenedor de Postgres (o Homebrew). Redis sigue siendo opcional.
Mismo flujo: elige DB_BACKEND_MODE antes del primer arranque.
| PostGIS |
Necesario para un data/schema.sql desde cero |
La cabecera del esquema activa CREATE EXTENSION postgis (v4.1.0+) |
| Puertos | 3000 (app), 5432 (Postgres) | Servidor propio: node --import tsx server.ts mediante npm run dev |
| Redis | Opcional | REDIS_URL: rate-limit / set-nx recurren a memoria del proceso si no está definido |
| Disco / RAM | Un portátil cómodo | Solo orientación para operadores, no es un SLA medido |
Al menos un camino de Auth.js: Google OAuth, Apple o Ring Mailer (SMTP_* o EMAIL_MODE=ethereal).
| Cuenta / artefacto | Cuándo se necesita |
|---|---|
Clon de GitHub de connectplatform/ring | Siempre para el autoalojamiento OSS |
| PostgreSQL (Docker local, Homebrew o alojado) | Modos Postgres (k8s-postgres-fcm, supabase-fcm) |
| Cliente OAuth de Google Cloud o Apple Sign In o SMTP / Ethereal | Antes del inicio de sesión real de los testers |
| Proyecto de Firebase (claves FCM) | Opcional hasta las notificaciones push |
| WayForPay / Stripe | Solo antes del checkout de PaymentConductor |
| Entrega de colono de Ringdom | Si te saltas el autoalojamiento y usas alojamiento gestionado |
| Camino | Primera pasada típica | Resultado |
|---|---|---|
./install.sh --quick + Postgres existente | Decenas de minutos | Estructura del env; aún tienes que aplicar el esquema y OAuth |
| Arranque completo con Postgres como base principal | Una sesión de alrededor de una hora | Coincide con un stack local al estilo de ring-platform.org |
Prototipo firebase-full | Prueba más corta | Se salta la profundidad de ERP / conductor |
Los tiempos varían según la máquina y la configuración de credenciales. Tómalos como rangos de planificación, no como SLA.
El alojamiento gestionado por Ringdom se salta casi toda esta lista: los colonos reciben un clúster ya configurado. Quienes se autoalojan desde GitHub siguen esta página (OSS frente a enterprise).
supabase-fcm | Postgres en Supabase + FCM opcional |
firebase-full | Solo prototipo con Firestore |
DATABASE_MODE se ha eliminado: no lo definas. En detalle: Modos de backend.
Proveedores registrados en auth.ts: Credentials de Ring Mailer (email-otp, email-magic, credentials), OAuth de Google, Google One Tap, Apple y credenciales de billetera/cripto. OAuth de GitHub/Discord no está en la lista predeterminada de proveedores. Resend / AUTH_RESEND_KEY no forman parte de la fuente de verdad del mailer (usa SMTP_* / Ethereal).
Opcional para funciones posteriores:
BLOB_READ_WRITE_TOKEN: subidas a Vercel BlobWAYFORPAY_* / STRIPE_*: PaymentConductorNEXT_PUBLIC_FIREBASE_* + cuenta de servicio de Admin: push FCM (no la base de datos Firestore en Postgres como base principal)OPENAI_API_KEY / ANTHROPIC_API_KEY: AI matcher / Email CRMREDIS_URL: opcional; si no está definido se usa la memoria del procesoNunca hagas commit de .env.local. Consulta Configuración del entorno.
Espera "healthy" cuando AUTH_SECRET está definido (app/api/health/route.ts trata la ausencia de AUTH_SECRET como crítica). Consulta Monitorización.
install.sh puede generar docker-compose.yml a partir de docker-compose.template.yml (app + postgres:16-alpine + redis:7-alpine, más un perfil opcional de monitorización). Para el npm run dev del primer día basta con un solo contenedor de Postgres (o Homebrew). Redis sigue siendo opcional.
Mismo flujo: elige DB_BACKEND_MODE antes del primer arranque.
| PostGIS |
Necesario para un data/schema.sql desde cero |
La cabecera del esquema activa CREATE EXTENSION postgis (v4.1.0+) |
| Puertos | 3000 (app), 5432 (Postgres) | Servidor propio: node --import tsx server.ts mediante npm run dev |
| Redis | Opcional | REDIS_URL: rate-limit / set-nx recurren a memoria del proceso si no está definido |
| Disco / RAM | Un portátil cómodo | Solo orientación para operadores, no es un SLA medido |
Al menos un camino de Auth.js: Google OAuth, Apple o Ring Mailer (SMTP_* o EMAIL_MODE=ethereal).
| Cuenta / artefacto | Cuándo se necesita |
|---|---|
Clon de GitHub de connectplatform/ring | Siempre para el autoalojamiento OSS |
| PostgreSQL (Docker local, Homebrew o alojado) | Modos Postgres (k8s-postgres-fcm, supabase-fcm) |
| Cliente OAuth de Google Cloud o Apple Sign In o SMTP / Ethereal | Antes del inicio de sesión real de los testers |
| Proyecto de Firebase (claves FCM) | Opcional hasta las notificaciones push |
| WayForPay / Stripe | Solo antes del checkout de PaymentConductor |
| Entrega de colono de Ringdom | Si te saltas el autoalojamiento y usas alojamiento gestionado |
| Camino | Primera pasada típica | Resultado |
|---|---|---|
./install.sh --quick + Postgres existente | Decenas de minutos | Estructura del env; aún tienes que aplicar el esquema y OAuth |
| Arranque completo con Postgres como base principal | Una sesión de alrededor de una hora | Coincide con un stack local al estilo de ring-platform.org |
Prototipo firebase-full | Prueba más corta | Se salta la profundidad de ERP / conductor |
Los tiempos varían según la máquina y la configuración de credenciales. Tómalos como rangos de planificación, no como SLA.
El alojamiento gestionado por Ringdom se salta casi toda esta lista: los colonos reciben un clúster ya configurado. Quienes se autoalojan desde GitHub siguen esta página (OSS frente a enterprise).
supabase-fcm | Postgres en Supabase + FCM opcional |
firebase-full | Solo prototipo con Firestore |
DATABASE_MODE se ha eliminado: no lo definas. En detalle: Modos de backend.
Proveedores registrados en auth.ts: Credentials de Ring Mailer (email-otp, email-magic, credentials), OAuth de Google, Google One Tap, Apple y credenciales de billetera/cripto. OAuth de GitHub/Discord no está en la lista predeterminada de proveedores. Resend / AUTH_RESEND_KEY no forman parte de la fuente de verdad del mailer (usa SMTP_* / Ethereal).
Opcional para funciones posteriores:
BLOB_READ_WRITE_TOKEN: subidas a Vercel BlobWAYFORPAY_* / STRIPE_*: PaymentConductorNEXT_PUBLIC_FIREBASE_* + cuenta de servicio de Admin: push FCM (no la base de datos Firestore en Postgres como base principal)OPENAI_API_KEY / ANTHROPIC_API_KEY: AI matcher / Email CRMREDIS_URL: opcional; si no está definido se usa la memoria del procesoNunca hagas commit de .env.local. Consulta Configuración del entorno.
Espera "healthy" cuando AUTH_SECRET está definido (app/api/health/route.ts trata la ausencia de AUTH_SECRET como crítica). Consulta Monitorización.
install.sh puede generar docker-compose.yml a partir de docker-compose.template.yml (app + postgres:16-alpine + redis:7-alpine, más un perfil opcional de monitorización). Para el npm run dev del primer día basta con un solo contenedor de Postgres (o Homebrew). Redis sigue siendo opcional.
Mismo flujo: elige DB_BACKEND_MODE antes del primer arranque.