Ir al contenido

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.

Desde el repositorio, con las dependencias instaladas:

Ventana de terminal
pnpm exec tsx scripts/setup-deployment.ts --name orilla
docker compose --env-file .local/deployments/orilla/compose.env \
-f compose.production.yml up --build -d

Abre 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.

Ventana de terminal
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.

  1. Crea una aplicación desde el repositorio con build pack Docker Compose.
  2. Selecciona /compose.production.yml y la raíz del repositorio como base.
  3. Introduce las variables del archivo privado generado en la configuración runtime.
  4. Configura en gateway los dominios de la plataforma al puerto interno 8080 y de las subidas al 8333.
  5. Conserva PUBLIC_URL y S3_PUBLIC_ENDPOINT con las URLs HTTPS públicas, sin puertos internos.
  6. Usa API_TRUST_PROXY_HOPS=2 para 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.

Configura las variables públicas de cada sitio a partir de su .env.example, usando tus dominios finales. Compila por separado:

Ventana de terminal
pnpm build:site
pnpm build:docs

Publica 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.

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.

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.