Installation
Actualización de QuoteNode
Cómo verificar nuevas versiones, actualizar un despliegue con Docker Compose y revertir de forma segura.
Actualización de QuoteNode
QuoteNode comprueba automáticamente si hay nuevas versiones disponibles. Cuando existe una versión más reciente, el panel de administración muestra una notificación con la etiqueta de la versión y un enlace a las notas de la versión.
Actualización a PostgreSQL 18
Los archivos Compose anteriores ya usan postgres:18-alpine, así que las instalaciones nuevas no necesitan nada. Si usaste una alfa anterior en PostgreSQL 16 o 17, migra los datos una vez: un servidor PostgreSQL 18 no arranca sobre un directorio de datos más antiguo (la aplicación se niega a arrancar hasta que los datos sean compatibles y nunca los modifica automáticamente). Usa la copia pg_dump de la lista de verificación de abajo, recrea el volumen de la base de datos en postgres:18-alpine y restaura el volcado.
Cómo funciona la verificación de versiones
El frontend consulta https://quotenode.dev/releases/latest.json al iniciar sesión en la administración. Se trata de una solicitud GET de solo lectura y sin autenticación. No se envía ningún dato de su instancia. La verificación puede desactivarse:
VITE_RELEASE_CHECK_ENABLED=false
También puede sobrescribir la URL del manifiesto:
VITE_RELEASE_MANIFEST_URL=https://your-mirror.example.com/releases/latest.json
Si el manifiesto no está disponible, la verificación falla silenciosamente y el panel de administración funciona con normalidad.
Lista de comprobación previa a la actualización
Antes de actualizar:
- Anote la versión actual visible en Admin > License o en la notificación de versión.
- Haga una copia de seguridad de
.env— este archivo contiene secretos que no pueden regenerarse (especialmenteDB_ENCRYPTION_KEY). - Ejecute una copia de seguridad de la base de datos:
docker compose exec postgres pg_dump -U quotenode quotenode > backup-before-upgrade.sql
- Si las copias de seguridad automáticas están activadas (
BACKUP_ENABLED=true), verifique que existe una copia reciente en el volumen de respaldo.
Procedimiento de actualización
Para despliegues con Docker Compose (Ubuntu VPS, LAN Linux, Coolify manual):
docker compose pull
docker compose up -d
Este comando descarga las imágenes más recientes y recrea únicamente los contenedores cuyas imágenes han cambiado. Las migraciones de base de datos se ejecutan automáticamente al iniciarse el backend.
En Coolify con la opción de despliegue automático activada, enviar cambios a la rama configurada desencadena la actualización de forma automática.
Verificación posterior a la actualización
Una vez que los contenedores estén en ejecución:
- Abra
/health— debería devolverUP. - Inicie sesión y compruebe Admin > License para ver el nuevo número de versión.
- Cree una oferta de prueba y genere un PDF para verificar que el flujo de trabajo funciona correctamente.
- Abra un enlace público para verificar el enrutamiento del frontend.
- Si el SMTP está configurado, verifique que se envía un correo electrónico de notificación de prueba.
Reversión
Si la actualización produce problemas:
- No ejecute
docker compose down -v— esto elimina todos los datos, incluida la base de datos. - Detenga los servicios:
docker compose down
- Edite
docker-compose.yml(o.env) para fijar las etiquetas de imagen anteriores:
services:
backend:
image: ghcr.io/lesisty7/quotenode/quotenode-api:v0.9.0-alpha
frontend:
image: ghcr.io/lesisty7/quotenode/quotenode-frontend:v0.9.0-alpha
- Inicie de nuevo:
docker compose up -d
Si la nueva versión incluyó migraciones de base de datos irreversibles, revertir únicamente las imágenes puede no ser suficiente. En ese caso, restaure la base de datos desde la copia de seguridad realizada antes de la actualización:
docker compose down
docker compose up -d postgres
docker compose exec -T postgres psql -U quotenode quotenode < backup-before-upgrade.sql
docker compose up -d
Fijación de etiquetas de imagen
Las guías de instalación usan etiquetas latest por simplicidad. Para despliegues en producción, fije etiquetas de versión explícitas para controlar cuándo se producen las actualizaciones:
services:
backend:
image: ghcr.io/lesisty7/quotenode/quotenode-api:v0.9.0-beta
frontend:
image: ghcr.io/lesisty7/quotenode/quotenode-frontend:v0.9.0-beta
A continuación, actualice cambiando la etiqueta y ejecutando docker compose up -d.
Formato de versión
QuoteNode utiliza versionado semántico con un sufijo de canal:
v0.9.0-alpha— desarrollo inicialv0.9.0-beta— beta públicav0.9.0-rc— candidato a versión establev0.9.0— versión estable
El manifiesto de versiones incluye version, channel, label e imageTags para que el frontend pueda comparar versiones con precisión.