aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
40 hoursExtract full zip; excluding storage broke Laravel bootHEADmasterDanilo M.2-6/+15
Excluding storage/ from extraction (unzip -x 'storage/*') dropped the storage/framework/{cache,views,sessions} skeleton Laravel needs to boot, so the first artisan call died with a misleading "Target class [auth] does not exist" (the real boot error is masked by the exception reporter, which calls auth()). Extract the whole archive and overlay live user data on top instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
40 hoursVerify download, validate extract, align artisan with official docsDanilo M.3-8/+55
Lessons from the community upgrade gist and the official self-managed upgrade docs: - Verify the downloaded zip against the release .sha256 (when sha256sum is available) and validate the extracted tree (artisan, bootstrap, vendor, the compiled frontend bundle) before the live swap, so a truncated or corrupt download cannot replace a working install. - Exclude storage/ from extraction since the live storage is carried over. - Match the official upgrade command sequence: migrate --seed, cache:clear, view:clear, firefly-iii:upgrade-database, firefly-iii:laravel-passport-keys. Adds the previously missing view:clear and switches from the generic passport:install to Firefly's firefly-iii:laravel-passport-keys. Keeps --force and the oauth migration reconcile. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
40 hoursInstall from release zip; fix Passport migration collisionDanilo M.3-16/+125
Two root causes made the composer-based update produce a broken install: - composer create-project ships source only, without the compiled frontend bundles (public/v1/js/app.js etc.), leaving the UI broken (no graphs, 404s). Switch to downloading and extracting the official GitHub release zip, which is prebuilt. Normalize the version so both "6.6.5" and "v6.6.5" resolve to the correct v-prefixed release asset. - Laravel Passport renames its migration files between versions, so a carried-over DB has the oauth_* tables while the new filenames look pending, and migrate aborts trying to recreate existing tables. Reconcile the migrations ledger before migrate: record already-present tables, let missing ones be created. Also add an ERR trap so a failed run names the failing line and cannot masquerade as success (a silent mid-run failure left a half-built dir that looked done), a dependency check (curl/unzip/php), and mkdir guards for the storage carry-over. Document all of it in README.md and CLAUDE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 hoursInitial commit: firefly-update scriptDanilo M.3-0/+545
Update a Firefly III instance on Debian: install latest or pinned release via Composer, carry over config/uploads/exports/SQLite DB, migrate, swap in, restart Apache. Timestamped DB backup before any change; --restore rolls back to the previous version. Licensed GPLv2-only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>