Autoalojamiento
Actualizaciones
Cómo actualizar SpiderFolio: versiones SemVer, pull y up, migraciones automáticas y cómo volver atrás.
Versiones
SpiderFolio sigue versionado semántico (MAYOR.MENOR.PARCHE):
- Parche (
1.4.0→1.4.1): correcciones. Actualiza sin miedo. - Menor (
1.4.1→1.5.0): funciones nuevas, compatibles con lo anterior. Puede traer variables nuevas opcionales. - Mayor (
1.5.0→2.0.0): cambios que pueden pedir pasos manuales. Lee siempre las notas de la versión antes, en GitHub.
Por defecto, compose.yaml usa la etiqueta latest. Para decidir tú cuándo actualizar, fija la
versión en .env:
SPIDERFOLIO_IMAGE=ghcr.io/spiderjad/spiderfolio:1.5.0
Actualizar
-
Haz una copia (siempre, antes de actualizar):
cd /opt/spiderfolio/deploy ./backup.sh /var/backups/spiderfolio -
Trae los archivos nuevos de
deploy/(compose.yaml,Caddyfile, scripts y.env.example):git pull -
Compara
.env.examplecon tu.env: una versión puede agregar variables. Este comando lista las que están en el ejemplo y no en tu.env:comm -23 <(grep -oE '^[A-Z_]+=' .env.example | sort) <(grep -oE '^[A-Z_]+=' .env | sort)Si falta una obligatoria, la API no arranca y el log dice cuál. Las nuevas obligatorias se indican en las notas de la versión.
-
Si fijaste
SPIDERFOLIO_IMAGE, cámbiala a la versión nueva. -
Baja la imagen y reinicia:
docker compose pull docker compose up -d docker compose logs -f app # espera «API lista»Usa los mismos perfiles de siempre (
--profile https,--profile pdf) oCOMPOSE_PROFILESen.env.
La app queda fuera de servicio unos segundos mientras se recrean los contenedores.
Migraciones automáticas
No hay que correr nada a mano: al arrancar, la app aplica las migraciones pendientes de la base, y también las de los plugins instalados. El worker espera a que la app termine de migrar antes de arrancar.
- Si la base todavía no responde, la app reintenta durante un minuto.
- Una migración que falla no deja la base a medias: cada una corre en una transacción. Revisa
docker compose logs app, corrige la causa y vuelve a arrancar.
Si compilas la imagen tú
Por ejemplo, para incluir plugins. Desde la raíz del repositorio:
git pull
docker build -t spiderfolio:local .
cd deploy
docker compose up -d
Con SPIDERFOLIO_IMAGE=spiderfolio:local en .env.
Volver atrás
Las migraciones no se deshacen solas: una versión anterior de la app no siempre funciona con una base ya migrada. Para volver a la versión anterior:
- Fija
SPIDERFOLIO_IMAGEa la etiqueta anterior en.env. - Restaura la copia que hiciste antes de actualizar:
./restore.sh /var/backups/spiderfolio/<carpeta>. El script detiene la app, recupera la base y los archivos y vuelve a arrancar con la imagen anterior.
Lo que se haya cargado entre la copia y la vuelta atrás se pierde. Ver Copias de seguridad.