Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] MattFaz Repo

Featured Replies

I have had firefly installed for quite a while, but haven't used it in over a year. I just got back and see this:
image.thumb.png.4f3d451177e87da27b5edb2708352de1.png

Is this normal? The image used is fireflyiii/core:latest, and unRaid assures me there are no pending updates.

 

There's placeholder text everywhere, in case it's not apparent. And not just on this page either.

Edited by SvbZ3r0

23 hours ago, SvbZ3r0 said:

I have had firefly installed for quite a while, but haven't used it in over a year. I just got back and see this:
image.thumb.png.4f3d451177e87da27b5edb2708352de1.png

Is this normal? The image used is fireflyiii/core:latest, and unRaid assures me there are no pending updates.

 

There's placeholder text everywhere, in case it's not apparent. And not just on this page either.

To anybody else who has this problem, it was because I had FIREFLY_III_LAYOUT set to v2. The v2 layout has been merged into the main branch, so this is unneccessary. Just leave the variable empty in the template.image.thumb.png.ee8b656256259c95a04be8719a9b02a3.png

  • 1 month later...

i was trying to move to docker compose 

 

version: '3.3'
services:
  app:
    image: fireflyiii/core:latest
    hostname: app
    container_name: firefly_iii_core
    networks:
      - firefly
    restart: always
    volumes:
      - firefly_iii_upload:/var/www/html/storage/upload
    env_file: .env
    ports:
      - '7500:8080'
    depends_on:
      - db2
  db2:
    image: mariadb:lts
    hostname: db2
    container_name: firefly_iii_db
    networks:
      - firefly
    restart: always
    env_file: .env
    volumes:
      - firefly_iii_db:/var/lib/mysql
  
  cron:
    #
    # To make this work, set STATIC_CRON_TOKEN in your .env file or as an environment variable and replace REPLACEME below
    # The STATIC_CRON_TOKEN must be *exactly* 32 characters long
    #
    image: alpine
    container_name: firefly_iii_cron
    restart: always
    command: sh -c "echo \"0 3 * * * wget -qO- http://app:7500/api/v1/cron/STATIC_CRON_TOKEN\" | crontab - && crond -f -L /dev/stdout"
    networks:
      - firefly

volumes:
   firefly_iii_upload:
   firefly_iii_db:
  
networks:
  firefly:
    driver: bridge

 

env file

APP_ENV=local
APP_DEBUG=true
APP_KEY=<key>
TZ=America/Los_Angeles
MARIADB_RANDOM_ROOT_PASSWORD=true
MYSQL_RANDOM_ROOT_PASSWORD=true
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=firefly2
DB_USERNAME=firefly_user
DB_PASSWORD=<pwd>
STATIC_CRON_TOKEN=<token>

 

but still getting this error on UI page:
 

Could not poll the database: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for db failed: Name or service not known (Connection: mysql, SQL: select `id`, `name`, `data` from `configuration` where `name` = is_demo_site and `configuration`.`deleted_at` is null limit 1)

 

in logs (multilple similar errors) 

[previous exception] [object] (PDOException(code: 0): PDO::__construct(): php_network_getaddresses: getaddrinfo for db failed: Name or service not known at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:65)

 

DB pod is running, can log into it. what am i missing?

  • 3 weeks later...

Edit:  Solved my own issue (Which is what usually happens).  Anyway, the solution was to uncheck "Confidential" when creating a new client in Firefly 3.

I spun up firefly 3 docker.

got it working

Spun up firefly3 data importer docker, but this is where the problem begins.

I have to enter 2 fields here:
 

Firefly III URL:

Client ID:

So I head over to my firefly3 instance, click profile, click oauth and create a client using the callback url I was given from the importer (http://192.168.1.102:8401/callback)

Ok back to Importer.  Client ID appears to be 2.  Not sure what to enter for Firefly III url?  I enter the url for my firefly 3 instance (seems obvious).  I enter: http://192.168.1.102:8400

Ok got the info I need:

 

Firefly III URL: http://192.168.1.102:8400

Client ID: 2

 

I push submit.
It appears to work because if I put other data, I get nothing, but putting the data as is, I get this:
 

Firefly III v6.1.16 Authorization Request

Application "firefly" is requesting permission to access your financial administration. Would you like to authorize firefly to access these records?

You will be redirected to http://192.168.1.102 which will then be able to access your Firefly III data.

I click Authorize, but then get a

500

Server Error

Log shows this:

[2024-05-20 21:55:14] production.ERROR: Client exception when decoding response: Client error: `POST http://192.168.1.102:8400/oauth/token` resulted in a `401 Unauthorized` response:
{"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}
 
[2024-05-20 21:55:14] production.ERROR: Response from server: "{"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}"  
[2024-05-20 21:55:14] production.ERROR: View [error] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [error] not found. at /var/www/html/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:139)

Edited by 007craft

  • 4 weeks later...
On 5/20/2024 at 11:55 PM, 007craft said:

Edit:  Solved my own issue (Which is what usually happens).  Anyway, the solution was to uncheck "Confidential" when creating a new client in Firefly 3.

I spun up firefly 3 docker.

got it working

Spun up firefly3 data importer docker, but this is where the problem begins.

I have to enter 2 fields here:
 

Firefly III URL:

Client ID:

So I head over to my firefly3 instance, click profile, click oauth and create a client using the callback url I was given from the importer (http://192.168.1.102:8401/callback)

Ok back to Importer.  Client ID appears to be 2.  Not sure what to enter for Firefly III url?  I enter the url for my firefly 3 instance (seems obvious).  I enter: http://192.168.1.102:8400

Ok got the info I need:

 

Firefly III URL: http://192.168.1.102:8400

Client ID: 2

 

I push submit.
It appears to work because if I put other data, I get nothing, but putting the data as is, I get this:
 

Firefly III v6.1.16 Authorization Request

Application "firefly" is requesting permission to access your financial administration. Would you like to authorize firefly to access these records?

You will be redirected to http://192.168.1.102 which will then be able to access your Firefly III data.

I click Authorize, but then get a

500

Server Error

Log shows this:

[2024-05-20 21:55:14] production.ERROR: Client exception when decoding response: Client error: `POST http://192.168.1.102:8400/oauth/token` resulted in a `401 Unauthorized` response:
{"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}
 
[2024-05-20 21:55:14] production.ERROR: Response from server: "{"error":"invalid_client","error_description":"Client authentication failed","message":"Client authentication failed"}"  
[2024-05-20 21:55:14] production.ERROR: View [error] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [error] not found. at /var/www/html/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:139)

I'm getting the same issue as you but I already unchecked the "Confidential" box

  • 1 month later...

Could someone please tell me how they set up cronjobs for Firefly III using this container?

 

I have just started using it and I put in a whole bunch of automations but it's telling me that the cronjob has never run.

 

It would be really nice if when the container was made, some kind of cron could be expressed in the container template. I've checked the documentation but there's 10 different ways to do this so I am not sure which I should pick because obviously I need it to be persistent and survive docker updates.

 

Thanks for any information!

  • 1 month later...
On 8/9/2024 at 10:21 PM, plantsandbinary said:

Could someone please tell me how they set up cronjobs for Firefly III using this container?

 

Creat a user script to run this command:

docker exec --user www-data Firefly-III /usr/local/bin/php /var/www/html/artisan firefly-iii:cron
  • 3 weeks later...
On 9/27/2024 at 10:15 AM, Bruceflix said:

Creat a user script to run this command:

docker exec --user www-data Firefly-III /usr/local/bin/php /var/www/html/artisan firefly-iii:cron

 

Can you please confirm this? In the documentation, it says "/usr/bin/php" and not "/usr/local/bin/php".

 

In the directory of /usr/local/bin there is no "php"

image.png.65e97df465c79e0fbd8f66e3ef26f12b.png

 

 

But in the directory in /usr/bin/ there is "php"

image.png.0e1cc4aa10a05e7e2af237595bd16ae8.png

 

Sorry I'm not expert on this. Just want to clear things out. Thank you.

 

 

.

Edited by HHUBS
edit

3 hours ago, HHUBS said:

 

Can you please confirm this?

 

 

.

Confirmed.

Screenshot 2024-10-17 001949.png

On 9/2/2023 at 3:42 AM, wieli99 said:

Solution: it is a database user permission problem, granting the user correct permissions on the db and schema solves it

Would you please share specific permissions did you grant the user? I used the GRANT ALL PRIVILEGES command and am still running into this issue.

 

EDIT: You need to give the user that you create SUPERUSER and CREATEDB privileges. This can be done with the ALTER USER command.

Edited by N¿¿B

  • 4 weeks later...

I can't get the auto importer working.

 

Here is my firefly setup.

 

docker.thumb.PNG.93566e36a05370490805a3fc9e84c09a.PNG

 

I have setup firefly-iii and connected it with importer and managed to import data from my bank via gocardless.

 

I have the config.json as well, and have uploaded it to docker container.

 

Following the guide for auto importing: https://docs.firefly-iii.org/how-to/data-importer/import/automated/

 

It tells me to run this command:

 

docker exec firefly_iii_importer php artisan importer:import /import/config.json

 

Where firefly_iii_importer is the container ID, and where config.json is the configuration file from the previous step. This should run the import again.

 

However: When checking docker container IDs from unraid SSH

 

ssh.PNG.ccaa74dd31a7104f45e6c4212f375cb6.PNG

 

I would need to use this command:

 

docker exec ae6225d48e78 php artisan importer:import /var/www/html/storage/upload/import_config_2024-11-13.json

 

However I get the following error:

 

root@Tower:~# docker exec ae6225d48e78 php artisan importer:import /var/www/html/storage/upload/import_config_2024-11-13.json
Trying to connect to ...
The last 25 chars of the access token are:
ApiHttpException: Could not connect to Firefly III at : cURL error 3: URL using bad/illegal format or missing URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for /api/v1/about
The last 25 chars of the access token are:
No access granted, or no connection is possible to your local Firefly III instance at .

 

Manually running the config via importer web-ui works just fine though. Where am I going wrong? Why is the command failing? I would intend to automate this command into cron jobs or userscripts in unraid.

 

 

 

Edited by eilif

  • 6 months later...

Hi, I was wondering if anyone has got tailscale to work for FireflyIII?

I get an error within the logs around root permissions for some reason

  • 2 weeks later...

I tried to get my firefly 3 up and running with a mysql as DB. The logs show, that the DB should be up and running, after the "wait-for-it"-Script. But then I get:

[2025-06-05 16:29:13] production.ERROR: SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: select * from `configuration` where `name` = db_version and `deleted_at` is null and `configuration`.`deleted_at` is null limit 1)  
[2025-06-05 16:29:13] production.ERROR: SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: select * from `configuration` where `name` = ff3_version and `deleted_at` is null and `configuration`.`deleted_at` is null limit 1)  

as error. You can see my config here.

I also tried sqlite. Is this a better way or should I not use sqlite? sqlite works, but I don't want to start with firefly "broken by design" (from me!).

Any help is appreciated.

Niko

firefly-config.jpg

3 minutes ago, jamfx said:

I tried to get my firefly 3 up and running with a mysql as DB. The logs show, that the DB should be up and running, after the "wait-for-it"-Script. But then I get:

[2025-06-05 16:29:13] production.ERROR: SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: select * from `configuration` where `name` = db_version and `deleted_at` is null and `configuration`.`deleted_at` is null limit 1)  
[2025-06-05 16:29:13] production.ERROR: SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: select * from `configuration` where `name` = ff3_version and `deleted_at` is null and `configuration`.`deleted_at` is null limit 1)  

as error. You can see my config here.

I also tried sqlite. Is this a better way or should I not use sqlite? sqlite works, but I don't want to start with firefly "broken by design" (from me!).

Any help is appreciated.

Niko

firefly-config.jpg

4 minutes ago, jamfx said:

I tried to get my firefly 3 up and running with a mysql as DB. The logs show, that the DB should be up and running, after the "wait-for-it"-Script. But then I get:

[2025-06-05 16:29:13] production.ERROR: SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: select * from `configuration` where `name` = db_version and `deleted_at` is null and `configuration`.`deleted_at` is null limit 1)  
[2025-06-05 16:29:13] production.ERROR: SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: select * from `configuration` where `name` = ff3_version and `deleted_at` is null and `configuration`.`deleted_at` is null limit 1)  

as error. You can see my config here.

I also tried sqlite. Is this a better way or should I not use sqlite? sqlite works, but I don't want to start with firefly "broken by design" (from me!).

Any help is appreciated.

Niko

firefly-config.jpg

For variable DB_HOST put the ip address of your DB.

3 minutes ago, Bruceflix said:

For variable DB_HOST put the ip address of your DB.

I tried it with the IP and mariadb, but this resulted in the following:

Could not poll the database: SQLSTATE[HY000] [2002] Connection refused (Connection: mariadb, SQL: select `id`, `name`, `data` from `configuration` where `name` = is_demo_site and `configuration`.`deleted_at` is null limit 1) 

So I tried again with mysql and the IP. This ended up in a 500 Error. And from the logs I got:

[2025-06-05 16:49:22] production.ERROR: Exception is: {"class":"InvalidArgumentException","errorMessage":"Database connection [myslq] not configured.","time":"Thu, 05 Jun 2025 16:49:22 +0200","file":"\/var\/www\/html\/vendor\/laravel\/framework\/src\/Illuminate\/Database\/DatabaseManager.php","line":227,"code":0,"version":"6.2.16","url":"http:\/\/localhost","userAgent":"Symfony","json":true,"method":"GET","post":""}  
[2025-06-05 16:49:22] production.WARNING: Sent 6 emails in 5m, return true.  
[2025-06-05 16:49:22] production.INFO: MailError: reached limit, not sending email.  
[2025-06-05 16:49:22] production.ERROR: Database connection [myslq] not configured. {"exception":"[object] (InvalidArgumentException(code: 0): Database connection [myslq] not configured. at /var/www/html/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:227)

🤔 any other suggestions? Thanks in Advance.

When I first installed fireflyIII i used linuxsewrver repo for mariadb however this caused issues a few months ago so i imported my DB into the mariadb from the official repo . This may have been resolved and may be unrelated to your problem.

  • 4 weeks later...

Am I seeing it not correctly or is there no way to get a goCardless API? I just can find codesnipets to paste in some apps if i want to build one but not a simple way to create one and just paste it in Firefly Importer?!

Can someone help me? As an EU citizen ill need to use gocardless and cant use spectre right? (i dont know anyway if it would be more easy with spectre^^)

is there a guide or a link for a dummy please?!

thanks for hints :)

How would I enable email in this app?

43 minutes ago, rofldld said:

How would I enable email in this app?

How to set up notifications - Fi...
No image preview

How to set up notifications - Firefly III documentation

Documentation for Firefly III

Sorry if I am confused on another question here. I created a rule to use when importing transactions from my banks CSV file that says if the 'description contains Amazon' and 'is less than or equal to 0', then 'set description to Amazon' and 'set destination account' to Amazon. However, this does not seem to work and gives a message of 'cant change source account of journal #4833 because no asset account with name "Amazon" exists', and the destination account get assigned to (no name). Would this be a question for github?

  • 2 weeks later...
On 11/13/2024 at 5:55 PM, eilif said:

I can't get the auto importer working.

 

Here is my firefly setup.

 

docker.PNG

 

I have setup firefly-iii and connected it with importer and managed to import data from my bank via gocardless.

 

I have the config.json as well, and have uploaded it to docker container.

 

Following the guide for auto importing: https://docs.firefly-iii.org/how-to/data-importer/import/automated/

 

It tells me to run this command:

 

docker exec firefly_iii_importer php artisan importer:import /import/config.json

 

Where firefly_iii_importer is the container ID, and where config.json is the configuration file from the previous step. This should run the import again.

 

However: When checking docker container IDs from unraid SSH

 

ssh.PNG

 

I would need to use this command:

 

docker exec ae6225d48e78 php artisan importer:import /var/www/html/storage/upload/import_config_2024-11-13.json

 

However I get the following error:

 

root@Tower:~# docker exec ae6225d48e78 php artisan importer:import /var/www/html/storage/upload/import_config_2024-11-13.json
Trying to connect to ...
The last 25 chars of the access token are:
ApiHttpException: Could not connect to Firefly III at : cURL error 3: URL using bad/illegal format or missing URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for /api/v1/about
The last 25 chars of the access token are:
No access granted, or no connection is possible to your local Firefly III instance at .

 

Manually running the config via importer web-ui works just fine though. Where am I going wrong? Why is the command failing? I would intend to automate this command into cron jobs or userscripts in unraid.

 

 

 

@eilif did you manage to fix? I'm having the same issue.

  • 1 month later...
On 9/2/2023 at 4:42 AM, wieli99 said:

Solution: it is a database user permission problem, granting the user correct permissions on the db and schema solves it

On 9/2/2023 at 4:42 AM, wieli99 said:

Solution: it is a database user permission problem, granting the user correct permissions on the db and schema solves it

Hello, for user what permission it needs? I tried with firefly and postgres but both having issue. What am I missing?

TIA

image.png

image.png

image.png

  • 2 weeks later...

@eilif @xxbigfootxx

I think I have a solution to the issue

Trying to connect to ...
The last 25 chars of the access token are:
ApiHttpException: Could not connect to Firefly III at : cURL error 3: URL using bad/illegal format or missing URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for /api/v1/about
The last 25 chars of the access token are:
No access granted, or no connection is possible to your local Firefly III instance at .


  1. Generate an auth token within the FireFly III container (Options > Profile > OAuth > Personal Access Tokens) – make sure to save this as you will never see it again!

    image.png

  2. Configure the importer container as per the docs

    1. FIREFLY_III_ACCESS_TOKEN – this is the auth token that you generated in step 1

    2. IMPORT_DIR_ALLOWLIST – this is the dir within the "FireFly II Importer" container from which you are allowing the importer to import from

    3. An external directory to mount to the directory set by IMPORT_DIR_ALLOWLIST – it will be a directory outside of the containers into which you will be dropping your statements (CSV) and configs (JSON)
      image.png

  3. Run the import command from Unraid – you might need to tweak this to suit your setup
    docker exec -it $(docker ps -aqf "name=Firefly-III-Data-Importer") php artisan importer:import /import/path/to/config.json /import/path/to/statement.csv


Hopefully this helps.

  • 2 months later...

Did someone managed made api work with curl ? I allways get cannot connect to host were in fact all the web interface works as intended

For example using curl getting this error

curl -X GET 'http://192.168.1.1:8080/api/v1/webhooks' \

-H 'accept: application/vnd.api+json' \

-H 'Authorization: Bearer longacccesstokenredacted' \

-H 'Content-Type: application/json'

Edited by ingux16

  • 2 months later...
On 9/19/2025 at 6:46 PM, shooftie said:

@eilif @xxbigfootxx

I think I have a solution to the issue

Trying to connect to ...
The last 25 chars of the access token are:
ApiHttpException: Could not connect to Firefly III at : cURL error 3: URL using bad/illegal format or missing URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for /api/v1/about
The last 25 chars of the access token are:
No access granted, or no connection is possible to your local Firefly III instance at .


  1. Generate an auth token within the FireFly III container (Options > Profile > OAuth > Personal Access Tokens) – make sure to save this as you will never see it again!

    image.png

  2. Configure the importer container as per the docs

    1. FIREFLY_III_ACCESS_TOKEN – this is the auth token that you generated in step 1

    2. IMPORT_DIR_ALLOWLIST – this is the dir within the "FireFly II Importer" container from which you are allowing the importer to import from

    3. An external directory to mount to the directory set by IMPORT_DIR_ALLOWLIST – it will be a directory outside of the containers into which you will be dropping your statements (CSV) and configs (JSON)
      image.png

  3. Run the import command from Unraid – you might need to tweak this to suit your setup
    docker exec -it $(docker ps -aqf "name=Firefly-III-Data-Importer") php artisan importer:import /import/path/to/config.json /import/path/to/statement.csv


Hopefully this helps.

Hi!

I'm trying to automate the import task using enable banking provider.

Manual import it's working, i have .pem file and config.json inside docker.

The problem is loading .pem certificate, i link Github Topic here and here.

What's the way to add a new line \n in environment variable or .env file in Unraid?

Edit: i found this post, but I don't understand how to use the information.

Thank you very much

Edited by FBoscarato

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.