"Firefly III" is a self-hosted financial manager. It can help you keep track of expenses, income, budgets and everything in between. It supports credit cards, shared household accounts and savings accounts. It’s pretty fancy. You should use it to save and organise money.
In this tutorial, we are going to use this official automated Docker build for Firefly III: jc5x/firefly-iiiThis tutorial is mostly for newcomers and those that are not so familiar with the Docker. I'm not an expert, but I want to share my installation as a tutorial to help others. For any mistakes, feel free to comment in the discussion section of this resource.
First, go to the Registry tab in your Docker and search forBefore you start with the installation of this image you need to create a database and user for that database with a password. I use MariaDB and PHPMyAdmin for this, but this is not covered in this tutorial.
jc5x. After that click on
jc5x/firefly-iiiand click the Download button and choose
Wait for image to download. Then go to Image tab and find
jc5x/firefly-iii. Select it and click on button Launch:
Now in the Container creation wizard choose Advanced settings:
In the General settings tab you can for example set
In the Volume tab click on Add Folder button and create a folder structure in your Docker folder for example
For Mount path set
In the Port Settings tab change the Local Port to your desired port.
In the Environment tab add these variables and values:
|APP_KEY||[email protected]@[email protected]|
|DB_HOST||< your NAS IP >|
|DB_DATABASE||< your database name >|
|DB_USERNAME||< your database user name >|
|DB_PASSWORD||< your database user password >|
|APP_URL||< URL where your Firefly III will be >|
Make sure you change the value for variable
APP_KEY. It should be a random string of exactly 32 characters.
Last two variables (
TRUSTED_PROXIES) are optional. Use them if you're going to use reverse proxy. (How to set up reverse proxy?)
Ok, hit Apply button, wait a minute or two for the database to install everything, then navigate in your browser to
http://yourNASip:yourLocalPortand that's it!