Actualizar y copias de seguridad
Actualiza una instalación en marcha, fija una imagen y haz copia de lo que no se puede reconstruir.
La actualización habitual
Desde el directorio que contiene compose.prod.yml y .env:
docker compose -f compose.prod.yml --env-file .env pull
docker compose -f compose.prod.yml --env-file .env up -d --remove-orphans
--remove-orphans borra los contenedores de servicios que el nuevo fichero compose ya no tiene, como el antiguo minio-init de un solo uso. El backend aplica las migraciones nuevas de la base de datos al arrancar. Actualiza las tres imágenes (gateway, frontend y backend) a la vez.
Si una versión cambia el propio fichero compose, vuelve a descargarlo antes del pull. Lee antes las notas de la versión.
curl -fsSL https://raw.githubusercontent.com/Nonetss/garabato/main/compose.prod.yml -o compose.prod.yml
Fijar una imagen
compose.prod.yml usa la etiqueta :main de ghcr.io/nonetss/garabato-frontend, garabato-backend y garabato-gateway. Cada build de main se publica también como main-<sha>, con los ocho primeros caracteres del commit. Para quedarte en un build concreto, cambia las tres líneas image: a la misma etiqueta main-<sha>.
Copias de seguridad
Una instalación son tres cosas. Haz copia de las tres a la vez, para que encajen:
| Qué | Dónde | Por qué |
|---|---|---|
| La base de datos | el volumen db_data, o tu PostgreSQL externo |
Usuarios, certificados, la biblioteca, las versiones, los registros de firma y las trazas. |
| Los documentos | el volumen minio_data, o tu bucket |
Los PDF cifrados de cada versión. |
.env |
junto a compose.prod.yml |
Sobre todo CERTIFICATE_ENCRYPTION_KEY. |
Sin
CERTIFICATE_ENCRYPTION_KEYlas copias no sirven de nada. Envuelve la clave de cada certificado y documento guardado; sin ella, una base de datos y un bucket restaurados no se pueden descifrar. Guarda una copia fuera del servidor.
Un volcado de la base de datos incluida:
docker compose -f compose.prod.yml exec db pg_dump -U postgres stack > garabato.sql
El volumen de Loki solo guarda el registro de actividad y puede quedarse fuera.