Para administradores
← Todos los temas

Actualizar desde la línea de comandos

./draften update sin interrumpir el servicio, comprobar un paquete, volver a la versión anterior o a una más antigua, y un servidor sin internet.

Cuando el updater está en marcha en la instalación, lo más cómodo es actualizar en la interfaz, como se explica en «Actualizar con el updater». Aquí tiene el mismo procedimiento desde la línea de comandos; funciona siempre, con el updater o sin él. Todos los comandos se ejecutan en el directorio de la instalación.

Actualizar a una versión nueva

Cada versión es un paquete nuevo. Páseselo directamente al comando:

./draften update --bundle /ruta/a/draften-<versión nueva>.tar

o cópielo en la carpeta updates/ y ejecute:

./draften update <versión nueva>

La actualización no interrumpe el servicio y avanza paso a paso:

  1. comprueba el paquete con las claves de la versión instalada, antes de usar nada de él,
  2. guarda un volcado de la base de datos en backups/ (se conservan los tres últimos; el número lo fija DRAFTEN_BACKUPS en .env),
  3. ejecuta las migraciones de la base de datos,
  4. sustituye los workers,
  5. inicia la versión nueva de la web junto a la que está atendiendo y cambia a ella en cuanto está sana.

Si la versión nueva no llega a estar sana, no se cambia nada y la anterior sigue atendiendo.

Un paquete también se puede comprobar sin instalarlo:

./draften check draften-<versión nueva>.tar

Después de actualizar

./draften status

muestra qué color de la web atiende, la versión y el estado de los dos colores y de los workers, el estado de HTTPS y los volcados de la base de datos. En la página Funcionamiento los workers dan señales y el veredicto es «la capacidad es suficiente». Lo que cambió la versión está en el archivo NOTES.md.

Volver a la versión anterior

La versión que atendía antes de la actualización sigue en marcha sin tráfico. Puede cambiar a ella de inmediato:

./draften rollback

Esto funciona porque la base de datos sigue siendo legible también para la versión anterior.

Volver a una versión aún más antigua

Eso solo es posible restaurando un volcado de la base de datos. Cada volcado de backups/ lleva en el nombre la versión que estaba en marcha cuando se hizo:

docker compose stop worker
gunzip -c backups/<hora>-<versión>.sql.gz | docker compose exec -T db sh -c 'mariadb -uroot -p"$MARIADB_ROOT_PASSWORD"'
./draften update <versión> --no-backup

Todo lo que ocurrió en draften después de hacerse el volcado se pierde.

Un volcado de antes de sustituir la clave de cifrado solo se abre con la clave anterior, MASTER_KEY_PREVIOUS en .env. Vea Copia de seguridad y restauración.

Una máquina sin internet

El updater descarga las versiones nuevas con la clave de la licencia. Una máquina sin internet no descarga nada: copie el paquete en updates/ y actualice con ./draften update <versión>, o el updater se lo ofrecerá desde ahí en la interfaz.

Lo que no cambia por sí solo

Versión en texto