Firefly is a great piece of software for tracking all your expenses, outgoings, bills… Everything related to your money basically and all, somewhat unbelievably given the quality of the software, for free. The bonus of it being self-hosted of course is that no company or conglomerate is data-mining your information either. If you want someone to know your financial details you’ll have to write a blog and post them on the internet as well.
Let’s get cracking.
Step 1: The Database Docker
Behind the glitzy GUI of Firefly is a MySQL database. So we need one of those on our unRAID set-up first. Head over to the apps tab and search in Community Applications for Mariadb. If you don’t know how to do this, I recommend watching this video by Spaceinvader One.
Leave everything as is, and insert your own root password. Click apply and let unRAID pull down the latest version.
Step 2: The Database User
Now we need to set up the database for Firefly to use. This is easy enough to do following the instructions in this video from about 3 minutes onwards, but obviously substituting “nextcloud” instances for “firefly”.
For convenience, the commands you need to follow are below.
Firstly bash into the container using the console button.
mysql -uroot -p [your root password] CREATE USER 'fireflydb' IDENTIFIED BY 'apassword'; CREATE DATABASE IF NOT EXISTS 'fireflydb'; GRANT ALL PRIVILEGES ON fireflydb.* TO 'fireflydb' IDENTIFIED BY 'apassword'; quit
Having input your password, ‘Query OK’ should pop up after each subsequent enter. After entering quit ‘bye’ should pop up and you’re done. Close the window.
Step 3: The Firefly Docker
Now as there isn’t (at time of writing) and handy Community Applications proforma to fill in a la the mariadb container we have to make our own…
Fill this is as I have, adding new ports, hosts and other variables as you work your way down.
Once everything is in, hit apply and unRAID will pull down the latest version. Once it’s downloaded fire it up and make your way to yourunraidip:5080 and you’ll see a page with ‘be right back’ on it.
Step 4: Initialise the Database
The final step is to initalise the database, so bash into the new Firefly III container and run the following commands:
php artisan migrate --seed php artisan firefly:upgrade-database php artisan firefly:verify php artisan passport:install
You’re now good to go, head over to yourunraidip:5080, it should let you create an account where you can begin inputting all your information.
As an aside, it is worth taking regular backups of the mariadb database as there isn’t another convenient way of exporting the data.
Have fun, and if you run into any difficulties let me know or ask on the Github/Reddit.