Actualizaciones
Actualizaciones
Cómo llevar una instancia a una versión más nueva de lazyit. Las actualizaciones son rutinarias — descarga el código nuevo, reconstruye las imágenes, levanta la pila — pero respalda siempre primero, porque las migraciones de base de datos solo avanzan.
Antes de actualizar
Respalda primero ambas bases de datos y el archivo de entorno. Las migraciones de base de datos solo avanzan: no hay reversión automática. Tu red de seguridad es la copia previa a la actualización. Consulta Copias de seguridad y restauración.
La actualización
Desde la raíz del repositorio:
git pull # o despliega un nuevo artefacto compilado / imagen
docker compose -f compose.yaml -f infra/docker-compose.prod.yaml \
--profile prod --env-file infra/env/.env.prod up -d --build
La reconstrucción levanta las imágenes nuevas, y el trabajo puntual de migración se vuelve a ejecutar automáticamente antes de que arranque la API — aplicando cualquier migración nueva (sin efecto si no hay nada pendiente). No ejecutas las migraciones a mano.
Nuevos ajustes obligatorios tras una descarga
Una versión que añade una función puede introducir un nuevo valor de entorno obligatorio. El arranque guiado solo escribe valores nuevos en una generación desde cero — nunca edita un archivo de entorno existente — así que tras descargar una versión que lo necesite, añádelo a mano y recrea el servicio afectado. Dos ejemplos que ya han llegado:
-
La URL del intermediario de trabajos en segundo plano (
REDIS_URL), obligatoria desde que llegaron los trabajadores en segundo plano. Si falta, la importación de documentos en segundo plano falla.grep -q '^REDIS_URL=' infra/env/.env.prod || echo 'REDIS_URL=redis://valkey:6379' >> infra/env/.env.prod docker compose -f compose.yaml -f infra/docker-compose.prod.yaml --profile prod \ --env-file infra/env/.env.prod up -d api -
La clave de secretos de flujos de trabajo (
WORKFLOW_SECRET_KEY), obligatoria antes de activar el motor de flujos de aplicaciones. La API falla de forma ruidosa al arrancar si el motor está activado y la clave falta o tiene la longitud equivocada.grep -q '^WORKFLOW_SECRET_KEY=' infra/env/.env.prod \ || echo "WORKFLOW_SECRET_KEY=$(openssl rand -hex 32)" >> infra/env/.env.prod docker compose -f compose.yaml -f infra/docker-compose.prod.yaml --profile prod \ --env-file infra/env/.env.prod up -d api
La clave de secretos de flujos de trabajo es una clave irrotable, como la clave maestra del proveedor de identidad: descifra las credenciales de conector guardadas. Respáldala fuera del servidor y nunca generes una nueva en una restauración, o esas credenciales quedan indescifrables. Consulta Copias de seguridad y restauración.
Las notas de la versión señalan cualquier valor obligatorio nuevo. En caso de duda, compara tu archivo de
entorno con el ejemplo incluido (infra/env/.env.prod.example) buscando entradas recién añadidas.
Revertir
No hay reversión automática. Para volver a una versión anterior, restaura la copia de la base de datos previa a la actualización y vuelve a desplegar la imagen anterior. Por eso es obligatoria la copia previa a la actualización.
Versiones de los componentes incluidos
Las imágenes incluidas (base de datos, proveedor de identidad, búsqueda, intermediario, proxy) están fijadas a versiones concretas para despliegues reproducibles. Solo cambian con una subida deliberada. Antes de subir en particular el proveedor de identidad, respalda su base de datos y conserva la clave maestra correspondiente, ya que sus datos están ligados a esa clave.