Edited 15 February 2025 to update the upgrade instructions.
Firefly III has had a long and stormy history. There are many ways of installing Firefly III, so there are many ways to upgrade.
Download the latest release from Github.
cd /srv/www
wget https://github.com/firefly-iii/firefly-iii/releases/download/<next-version>/FireflyIII-<next-version>.zip
mkdir firefly-new
cd firefly-new
unzip ../FireflyIII-<next-version>.zip
cd ..
Where <next_version>
is the latest version of Firefly III. This installs Firefly III in a new directory called firefly-new
. Assuming your original Firefly III installation is in the directory firefly-iii
you can upgrade by moving over your .env
file and other stuff:
cp firefly/.env firefly-new/.env
rm -r firefly-new/storage
cp -a firefly/storage firefly-new/
If you use SQLite as a database system (you will know if you do) copy your database as well. Otherwise the .env
-file is enough.
Then, run the following commands to finish the upgrade:
cd firefly-new
php artisan migrate --seed
php artisan cache:clear
php artisan view:clear
php artisan firefly-iii:upgrade-database
php artisan firefly-iii:laravel-passport-keys
php artisan cache:clear
php artisan view:clear
cd ..
To make sure your webserver serves you the new Firefly III:
mv firefly firefly-old
mv firefly-new firefly
If you get 500 errors or other problems, you may have to set the correct access rights:
chown -R www:www firefly
chmod -R og-w firefly
Lastly restart php and nginx.