Updating a Forgotten BookStack: 15 Months, 1,371 Files and a Unix User That Didn’t Exist
A real-world BookStack upgrade from v25.02.2 to v26.05.3: service-account Git ownership, runuser, backups, Composer/PHP version mismatches, Laravel migrations, writable storage, and the checks that tell you the upgrade actually worked.