Despliega en tu infraestructura
El repositorio incluye Dockerfile y compose.production.yml. El stack de la plataforma contiene gateway, API/panel, workers de video y webhooks, PostgreSQL y SeaweedFS. Las dos webs públicas son sitios estáticos independientes.
Prueba el stack en tu equipo
Sección titulada «Prueba el stack en tu equipo»Desde el repositorio, con las dependencias instaladas:
pnpm exec tsx scripts/setup-deployment.ts --name orilladocker compose --env-file .local/deployments/orilla/compose.env \ -f compose.production.yml up --build -dAbre http://127.0.0.1:18080. El generador guarda las credenciales iniciales en .local/deployments/orilla/credentials.json. Consúltalas localmente y cambia la contraseña al entrar.
Un servicio init ejecuta migraciones y crea el primer administrador. Al repetir un despliegue conserva las cuentas y credenciales existentes.
Prepara dominios propios
Sección titulada «Prepara dominios propios»pnpm exec tsx scripts/setup-deployment.ts --name orilla \ --origin https://video.example.com \ --s3-origin https://uploads.example.com \Sustituye los dominios de ejemplo. El origen de la plataforma sirve el panel y la API; el segundo expone las subidas S3 firmadas. Configura HTTPS y DNS antes de validar las subidas.
Repetir el generador con el mismo nombre preserva credenciales. Para modificar los orígenes de una instalación existente, edita sus variables conservando los datos.
Coolify
Sección titulada «Coolify»- Crea una aplicación desde el repositorio con build pack Docker Compose.
- Selecciona
/compose.production.ymly la raíz del repositorio como base. - Introduce las variables del archivo privado generado en la configuración runtime.
- Configura en
gatewaylos dominios de la plataforma al puerto interno8080y de las subidas al8333. - Conserva
PUBLIC_URLyS3_PUBLIC_ENDPOINTcon las URLs HTTPS públicas, sin puertos internos. - Usa
API_TRUST_PROXY_HOPS=2para la cadena proxy de Coolify → gateway → API y restringe los proxies de confianza a las redes correspondientes.
El repositorio registra una instalación Coolify operativa y validación HTTPS de alcance acotado. Esto no valida los dominios, el proxy ni los proveedores de una instalación nueva. Consulta el estado de implementación y comprobaciones antes de atribuir cobertura remota a una función.
Publica la landing y la documentación
Sección titulada «Publica la landing y la documentación»Configura las variables públicas de cada sitio a partir de su .env.example, usando tus dominios finales. Compila por separado:
pnpm build:sitepnpm build:docsPublica apps/site/dist y apps/docs/dist como dos sitios estáticos. No necesitan un servidor Node en ejecución. Las variables PUBLIC_* se incorporan durante el build: recompila después de modificarlas. No uses esas variables para secretos.
Persistencia y mantenimiento
Sección titulada «Persistencia y mantenimiento»Conserva el nombre del proyecto y los volúmenes al actualizar. PostgreSQL guarda los datos; SeaweedFS, los originales y salidas de medios; el worker necesita espacio temporal para procesar.
Tu equipo gestiona capacidad, copias restaurables, actualizaciones, redundancia y CDN si lo necesita. El stack inicial usa una instancia por servicio. No establece por sí solo una garantía de disponibilidad o capacidad de producción.
Correo y claves de cuenta
Sección titulada «Correo y claves de cuenta»Recuperación de contraseña y correo de incidentes requieren configurar SMTP_HOST, SMTP_PORT, SMTP_FROM, credenciales opcionales conjuntas y SMTP_TLS_MODE. La aceptación de un relay no garantiza entrega a la bandeja. Cuenta y recuperación explica el ciclo de los enlaces.
MFA requiere MFA_ENCRYPTION_KEY; los destinos de incidentes, NOTIFICATION_ENCRYPTION_KEY. Son claves dedicadas, estables, de 32 bytes hexadecimales. Configúralas en el entorno privado y respáldalas junto con los datos que cifran. No se rotan automáticamente al arrancar. Sin la clave correspondiente la función informa indisponibilidad; el resto de la plataforma no configura proveedores externos por sí solo. Consulta canales de notificación.