Skip to main content

Actualización manual de BookStack (instalación por release / tarball)

Procedimiento seguro, probado y repetible.
Válido para instalaciones NO git, como la tuya.


0. Condiciones previas

  • BookStack instalado por release (.tar.gz)
  • PHP funcionando (php-fpm)
  • Base de datos operativa
  • Usuario web: www-data
  • Backups bajo control (restic, snapshots, etc.)

1. Comprobar versión actual

cd /var/www/bookstack
cat version

Ejemplo:

v25.12.2

2. Preparar directorio de trabajo (fuera de producción)

mkdir -p /root/tmp-bookstack-update
cd /root/tmp-bookstack-update

3. Descargar nueva release

Ejemplo para v25.12.3:

wget https://github.com/BookStackApp/BookStack/archive/refs/tags/v25.12.3.tar.gz
tar xzf v25.12.3.tar.gz
mv BookStack-25.12.3 bookstack_NEW

4. Copiar configuración y datos necesarios

Desde la instalación activa:

cp /var/www/bookstack/.env bookstack_NEW/
cp -a /var/www/bookstack/storage bookstack_NEW/
cp -a /var/www/bookstack/public/uploads bookstack_NEW/public/
cp /var/www/bookstack/public/custom.css bookstack_NEW/public/ 2>/dev/null || true

⚠️ No copiar vendor/ desde la instalación vieja.


5. Instalar dependencias PHP

cd bookstack_NEW
composer install --no-dev --optimize-autoloader

Esperar sin interrumpir.
Si falla, no seguir.


6. Ejecutar migraciones

php artisan migrate --force

Resultado habitual:

Nothing to migrate.

7. Swap controlado de versiones

mv /var/www/bookstack /var/www/bookstack_OLD_$(date +%Y%m%d)
mv /root/tmp-bookstack-update/bookstack_NEW /var/www/bookstack
chown -R www-data:www-data /var/www/bookstack

8. Limpiar cache y recargar PHP

cd /var/www/bookstack
sudo -u www-data php artisan config:clear
sudo -u www-data php artisan cache:clear
sudo systemctl reload php8.4-fpm

9. Verificación final

  • Acceder vía navegador
  • Comprobar login
  • Verificar subida de imágenes
  • Confirmar versión:
cat /var/www/bookstack/version

10. Rollback (si algo falla)

rm -rf /var/www/bookstack
mv /var/www/bookstack_OLD_YYYYMMDD /var/www/bookstack
sudo systemctl reload php8.4-fpm

Notas importantes

  • No usar git pull en instalaciones por release.
  • No mezclar métodos de actualización.
  • Actualizar solo cuando el sistema esté estable.
  • Repetir siempre este mismo procedimiento.

Fin.