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
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 pullen instalaciones por release. - No mezclar métodos de actualización.
- Actualizar solo cuando el sistema esté estable.
- Repetir siempre este mismo procedimiento.
Fin.