Ir al contenido
Q
QuoteNode

Wiki

Opciones de despliegue

Como desplegar QuoteNode con Docker Compose, Coolify y una topologia adecuada para produccion.

Opciones de despliegue

QuoteNode soporta varios modelos de despliegue, todos basados en contenedores Docker. Elige el enfoque que mejor encaje con tu infraestructura.

Docker Compose (estandar)

El despliegue estandar usa un unico archivo docker-compose.yml que arranca todos los servicios:

docker compose up -d

Topologia de produccion

Internet


Caddy (port 80/443, HTTPS automatico)
  ├── /api/*     → Backend (Java 25, port 8080)
  ├── /offer/*   → Backend (paginas publicas de oferta)
  └── /*         → Frontend (Vue 3, activos estaticos)

Backend → PostgreSQL (port 5432)
Backend → Gotenberg (port 3000, generacion PDF)

backup-worker → PostgreSQL (backups programados)

Servicios

ContenedorImagenProposito
frontendVue 3 + CaddySirve la SPA y hace proxy de las peticiones API
backendJava 25 / Spring BootREST API, logica de negocio y generacion PDF
postgresPostgreSQL 16 AlpineBase de datos
gotenbergGotenberg 8Conversion HTML a PDF basada en Chromium
backup-workerIgual que backendBackups programados de base de datos y archivos

Volumenes persistentes

VolumenContenido
postgres_prod_dataArchivos de base de datos
backend_prod_uploadsImagenes de producto y logos de empresa
backend_prod_pdfsDocumentos PDF generados
backend_prod_backupsArchivos de backup
backend_prod_geoipBase MaxMind GeoIP, opcional

Despliegue con Coolify

Coolify es una PaaS open source y self-hostable, alternativa a Heroku, Vercel o Railway, que corre en tu propio servidor.

QuoteNode ofrece una configuracion docker-compose.coolify.yml optimizada para despliegues con Coolify.

Diferencias clave frente a Docker Compose estandar

  • Coolify gestiona TLS - su propio proxy Caddy maneja certificados HTTPS y routing de dominios
  • Variables desde la UI de Coolify - en lugar de archivos .env, la configuracion se define en la interfaz web
  • Health checks - Coolify monitoriza la salud de los contenedores y puede reiniciar servicios fallidos
  • Dos modos de despliegue:

Modo A - Build desde fuente

Coolify clona el repositorio y construye las imagenes Docker en cada despliegue:

  • despliegues mas lentos
  • no requiere pipeline CI/CD
  • adecuado para empezar rapido

Modo B - Imagenes preconstruidas

GitHub Actions construye y publica imagenes en GHCR, y Coolify solo descarga la version mas reciente:

  • despliegues rapidos con pull y restart
  • requiere preparar workflow CI/CD
  • recomendado para produccion

Configuracion requerida en Coolify

  • Resource type: Dockerfile o Docker Image
  • Internal port: 8080
  • Health check path: /health
  • Domain: configurado a nivel de Coolify
  • HTTPS: forzado automaticamente por Coolify

Referencia de variables de entorno

Para el catalogo completo, incluyendo puertos de desarrollo, variables Vite, rutas del backup-worker y overrides operativos, consulta Environment Variables Reference.

Requeridas para todos los despliegues

VariableDescripcion
DB_USERNAMEUsuario de PostgreSQL
DB_PASSWORDContrasena de PostgreSQL
DB_ENCRYPTION_KEYClave AES-256 para cifrado de campos sensibles, 64 hex chars
TIMING_TOKEN_SECRETSecreto para tokens de deteccion de bots basados en timing
PUBLIC_LINK_PASSWORD_SESSION_SECRETSecreto de sesion para enlaces publicos protegidos
CORS_ALLOWED_ORIGINSOrigenes CORS permitidos para tu dominio

Email (opcional, pero recomendado)

VariableDescripcion
SMTP_HOSTHost SMTP
SMTP_PORTPuerto SMTP
SMTP_USERNAMEUsuario SMTP
SMTP_PASSWORDContrasena SMTP
SMTP_AUTHActiva autenticacion SMTP
SMTP_STARTTLSActiva STARTTLS

Backup (opcional)

VariableDescripcion
BACKUP_ENABLEDActiva backups programados
BACKUP_CRONExpresion cron
BACKUP_RCLONE_REMOTEDestino rclone para offsite backup
BACKUP_GPG_RECIPIENTID de clave GPG para cifrar backups

Seguridad (opcional)

VariableDescripcion
FEATURE_2FA_ENABLEDActiva 2FA
SECURITY_BOT_DETECTION_ENABLEDActiva capa de deteccion de bots
GEOIP_ENABLEDActiva control GeoIP

Funcionalidades

VariableDescripcion
PDF_ENABLEDActiva generacion PDF
NOTIFICATIONS_ENABLEDActiva notificaciones
NOTIFICATIONS_EMAIL_ENABLEDActiva correo para notificaciones
LOG_LEVELNivel de log de la aplicacion

Requisitos minimos del servidor

DespliegueRAMCPUDisco
Evaluacion / uso individual2 GB1 core10 GB SSD
Equipo pequeno, 5-10 usuarios4 GB2 cores20 GB SSD
Equipo mediano, 10-50 usuarios8 GB4 cores50 GB SSD

Estas cifras son conservadoras. El uso real depende del tamano del catalogo, volumen de ofertas y frecuencia de generacion PDF.

Last reviewed: Recently