Firefly III - self-hosted manager for your personal finances

Docker Firefly III - self-hosted manager for your personal finances

Currently reading
Docker Firefly III - self-hosted manager for your personal finances

A new release, version 4.8.1: firefly-iii/firefly-iii


4.8.1 is a release mostly marked by bug fixes although there are some interesting fixes. Amongst them, all reports have been given a revamp and they're all multi-currency aware. This greatly reduces the parts of Firefly III that tend to fall back to whatever your default currency is.
This version of Firefly III requires PHP7.3.

Read more:

----

Download the latest image and update container.
 
4.8.1.4

Firefly III v4.8.1.4 and onwards are licensed under the GNU Affero General Public License. This will not meaningfully change Firefly III. This particular license has some extra provisions that protect web-applications such as this one. You can read the full license on the website of GNU.
Thanks for all the big fixes and issue reporting.
Upgrading should be fairly straightforward otherwise. Make sure you check out the documentation.

Added
  • Issue 2589 Can now search using created_on:2019-10-22 and updated_on:2019-10-22.
  • Issue 2494 Add account balance to the dropdown.
  • Issue 2603 New keywords for reports.
  • Issue 2618 Page navigation in the footer of transaction lists.
  • Option in your profile to delete meta-data from your administration.
  • Add average to some reports.
Changed
  • Issue 2593 The budget overview is now fully multi-currency.
  • Issue 2613 Improved Mailgun configuration options.
  • Issue 2510 Maximum transaction description length is 1000 now.
  • Issue 2616 Docker instances should remember their OAuth tokens and keys better (even after a restart)
  • Issue 2675 Some spelling in the English is fixed.
Removed
Fixed
  • Issue 2572 Sometimes users would get 404's after deleting stuff.
  • Issue 2587 Users would be redirected to JSON endpoints.
  • Issue 2596 Could not remove the last tag from a transaction.
  • Issue 2598 Fix an issue where foreign amounts were displayed incorrectly.
  • Issue 2599 Could add negative amounts to piggy banks and game the system.
  • Issue 2560 Search supports møre chäracters.
  • Issue 2626 Budgets would display amounts with too many decimals.
  • Issue 2629 issue 2639 issue 2640 issue 2643 Line-breaks were not properly rendered in markdown.
  • Issue 2623 Budget spent line would make the start of the month twice.
  • Issue 2624 Editing a budget would redirect you to the wrong page.
  • Issue 2633 New transaction form sorts budgets wrong.
  • Issue 2567 Could not unlink bills.
  • Issue 2647 Date issue in category overview
  • Issue 2657 Possible fix for issue with transaction overview.
  • Issue 2658 Fixed overview of recurring transactions.
  • Issue 2480 SQLite can't handle a lot of variables so big update queries are now executed in chunks.
  • Issue 2683 Link to the wrong transaction.
Security
  • Issue 2687 Budget overview shows budget limit totals for all users, not just the logged-in user.
API
  • Issue 2609 Summary endpoint would not always give the correct results.
  • Issue 2638 Link to correct journal in API.
  • Issue 2606 Budget endpoint gave error.
  • Issue 2637 Transaction / piggy bank event endpoint now returns results.
  • An undocumented end point that allows you to search for accounts. Still a bit experimental.
    Use: /api/v1/search/accounts?query=something&field=all (all,iban,id,number)
Open and known issues
  • The "new transaction"-form isn't translated.
  • You can't drag and drop transactions.
----

Download the latest image and update container.
 
Thanks for your helpful guide, it seems I've been able to get Firefly III to run inside docker but I have no clue how to set up MariaDB / phpMyAdmin inside Docker - I can't get phpMyAdmin to connect to MariaDB at all.
If I install MariaDB and phpMyAdmin via the Package Center (outside Docker), I don't run into any problems with the database, but I have no clue how to get the Firefly Container to connect to my Synology MariaDB - any advice would be more than welcome - I'm a complete Docker newbie and most guides seem to assume you're somehow installing Docker containers via a Terminal, not via the Synology GUI.
 
Thanks for your helpful guide, it seems I've been able to get Firefly III to run inside docker but I have no clue how to set up MariaDB / phpMyAdmin inside Docker - I can't get phpMyAdmin to connect to MariaDB at all.
If I install MariaDB and phpMyAdmin via the Package Center (outside Docker), I don't run into any problems with the database, but I have no clue how to get the Firefly Container to connect to my Synology MariaDB - any advice would be more than welcome - I'm a complete Docker newbie and most guides seem to assume you're somehow installing Docker containers via a Terminal, not via the Synology GUI.
You can use firefly environment variable db_host and such to connect to mariadb.

Your nas ip is the db host value and mariadb or db port is 3306
 
Last edited:
You can use firefly environment variable db_host and such to connect to mariadb.

Your nas ip is the db host value and mariadb or db port is 3306

Thanks, Rusty, that's what I did. I used my NAS IP as DB_HOST and I also added DB_PORT and used 3306 to use the MariaDB installation inside DSM (and not Docker), however no tables get created inside my database which I can see when I log in via PhpMyAdmin, so I'm guessing there's some kind of connection problem. I've specifically created the user I specified under DB_USERNAME and have given that user the password specified under DB_PASSWORD and I have given that user full access to my firefly database (referenced under DB_DATABASE).

If it helps at all, Firefly greets me with the message: "There was a fatal error. Please check the log files."
 
The way I see it, I have to somehow get root access to check the logs as they're in a /var directory, will try to figure that out and see what the logs have to say.
 
OK, I've found the logs inside the Docker container, I'm getting "connection refused" so it seems to be a database issue. Is there anything specidif I have to set up from within phpMyAdmin to make it work?
 
Last edited:
Alright, I've managed to get it up and running by installing both phpMyAdmin and MariaDB in Docker containers that I accessed from outside Docker.

I used this docker image for MariaDB as it was recommended by someone in a forum post.

Additionally, I set up my Docker images as follows:

MariaDB
Local Port:
30010 (but any unmapped port should work)
Mounted folders:
/mariadb/data mapped to /var/lib/mysql
/mariadb/config
mapped to /etc/mysql/conf.d
Environment variable:
MYSQL_ROOT_PASSWORD and set my SQL password there

phpMyAdmin
Local Port:
30009 (but any unmapped port should work)
Environment variables:
PMA_HOST set to my NAS IP
PMA_PORT set to 30010 (as chosen for MariaDB)

I then logged into my database at MY-NAS-IP:30009 as "root" using the SQL root password I had set for MariaDB.
I went on to create a firefly database and a user with full access (both the username and password I chose were passed on to Firefly using the environmental variables DB_USERNAME and DB_PASSWORD, the database name was passed on using DB_DATABASE - as listed in your guide)

Firefly III
Local Port:
30007 (but any unmapped port should work)
Mounted folders:
as described by wwwampy in his guide
Environment variables (other than the ones you mentioned in your post):
DB_CONNECTION set to mysql
DB_PORT set to 30010 (as chosen for MariaDB)

When I attemped to start Firefly III this time, my database got populated right away and I was ready to go a few minutes later. Feel free to add these instructions to your guide if you want to expand it to also showing how to set up the database.
 
This is how I setup Firefly iii

Code:
docker pull jc5x/firefly-iii:latest
docker stop firefly
docker rm firefly
docker run -d \
 --name firefly \
 -v /volume1/docker/firefly/export/:/var/www/firefly-iii/storage/export \        #change to your path
 -v /volume1/docker/firefly/upload/:/var/www/firefly-iii/storage/upload \      #change to your path
 -v /volume1/docker/firefly/logs/:/var/www/firefly-iii/storage/logs \               #change to your path
 -p 8000:80 \
 --link mariadb:firefly-db \
 --link memcached:memcached \
 --env-file /volume1/documents/scripts/firefly/update/firefly.env \                #change to your path  
 --restart always jc5x/firefly-iii:latest

This is the env file:

Code:
TZ=<yourtimezone>     #change to your timezone
APP_ENV=local
APP_KEY=<secrectkey>          #change to your own 32characters
DB_CONNECTION=mysql
DB_HOST=firefly-db
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=firefly
DB_PASSWORD=<yourdbpassword>   #change to your db password
APP_URL=https://<yoururltodomain>   #change to your subdomain
TRUSTED_PROXIES=**
SESSION_DRIVER=memcached           #install memcached first
CACHE_DRIVER=memcached
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211

Firefly run behind a reverse proxy.

Whenever an update is released I just run my task that I have created for Firefly in Task Scheduler
 
Any chance this could be updated to version 5.5.7? I do understand I am late to the party but really want this work. Just cannot escape the 500 error. I am not sure why I am not getting the access to the DB.
I have installed mariaDB 10 from the synology packages. I can access it from phpmyadmin and created the required user and db.
The DBhostname should be my NAS IP address and port right? (192.168.x.x:3307)
 
Any chance this could be updated to version 5.5.7? I do understand I am late to the party but really want this work. Just cannot escape the 500 error. I am not sure why I am not getting the access to the DB.
I have installed mariaDB 10 from the synology packages. I can access it from phpmyadmin and created the required user and db.
The DBhostname should be my NAS IP address and port right? (192.168.x.x:3307)
this is what I'm doing as well but I'm getting connection timeout.
 
this is what I'm doing as well but I'm getting connection timeout.
I found a way to do this using portainer and stacks. DB Stack is a great source for all things docker.
To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.
 
Ya'll are doing better than me. When I watch logs when I start the Firefly container, the last entry is about "starting worker processes". There's nothing to indicate that it's even trying to connect to my database.

Any thoughts?
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Similar threads

So this means that I can copy to its directory from another DiskStation directory and share (using File...
Replies
3
Views
1,449
I'll delete everything I can containers/images/etc, and start fresh over the weekend. While I really like...
Replies
48
Views
6,624
I use it with the Reeder app and wanted to have filtered feeds there. I'll play around with it a bit more.
Replies
61
Views
9,953
I ran across a very complete how-to-install-nextcloud on Docker using the Synology UI (just the UI, not...
Replies
28
Views
8,293
Hello, i just tried to follow these steps above, but all I get is a psql: could not connect to server...
Replies
43
Views
11,344
hmmm, looks like something bad happened :( Of course I am inserting a correct admin token (newly...
Replies
421
Views
93,518

Welcome to SynoForum.com!

SynoForum.com is an unofficial Synology forum for NAS owners and enthusiasts.

Registration is free, easy and fast!

Back
Top