Requisitos previos
- Docker Engine 24 o posterior con Compose v2
- Node.js 22 o posterior, para generar los secretos
- al menos 2 vCPU, 4 GB de RAM y almacenamiento en disco persistente
- un nombre DNS público para el panel
- cuentas de Twilio y OpenAI para las llamadas en vivo, y un trunk Elastic SIP de Twilio para las llamadas telefónicas
Configure el entorno
.env.example en .env y rellena cada contraseña de rol de PostgreSQL y cada secreto interno con un valor aleatorio de 64 caracteres. No sobrescribe un .env existente a menos que pase --force, que también reemplaza todos sus secretos.
Luego abra .env y configure APP_BASE_URL, OPENAI_API_KEY y sus credenciales de Twilio. Los servicios construyen sus cadenas de conexión a la base de datos a partir de las contraseñas de los roles, así que no necesita escribir ninguna URL de base de datos.
Compose configura STORAGE_PROVIDER=local por defecto. El servicio de administración y el worker montan el mismo volumen persistente storage_data en /var/lib/lobbystack/storage.
Inicie LobbyStack
docker compose logs, y los endpoints de estado siguen funcionando.
Elija un backend de almacenamiento
El proveedor local predeterminado admite un solo host de Docker. Haga una copia de seguridad del volumenstorage_data junto con PostgreSQL y restaure ambos desde el mismo punto de recuperación.
Use S3 cuando el servicio de administración y el worker se ejecuten en hosts distintos. Configure estos valores en .env:
Exporte datos de OpenTelemetry
La exportación de OpenTelemetry está desactivada cuandoOTEL_EXPORTER_OTLP_ENDPOINT está vacía. Para enviar trazas, métricas y registros de OpenTelemetry a PostHog, agregue estos valores a .env:
/v1/traces, /v1/metrics y /v1/logs a la URL base. Puede usar las mismas variables con otro backend compatible con OTLP.
Reinicie los contenedores de la aplicación después de cambiar los valores:
Verifique la implementación
Lista de comprobación para producción
- reemplace todas las credenciales de desarrollo y restrinja los permisos de
.env - use un valor HTTPS de producción para
APP_BASE_URL - configure
OPENAI_WEBHOOK_SECRETyTWILIO_SIP_TRUNK_SIDpara contestar llamadas telefónicas. El worker no aprovisiona un número de teléfono sinTWILIO_SIP_TRUNK_SID. Las variables de llamadas de voz explican para qué sirve cada una - configure
WEB_CALL_ALLOWED_ORIGINScon los sitios exactos que alojan su llamada de demostración pública, si tiene una - configure copias de seguridad de PostgreSQL y del almacenamiento de archivos fuera del host
- haga un simulacro de restauración antes de aceptar tráfico de producción
- restrinja los puertos de PostgreSQL, Redis y, si lo usa, MinIO a redes privadas
- monitoree el estado del servicio de administración, el worker, las colas, la base de datos y el almacenamiento de objetos
- fije las versiones de las imágenes antes de las actualizaciones planificadas