[SUPPORT] SmartPhoneLover - Firefly III + Data Importer


Recommended Posts

firefly-iii.pngfirefly-iii-data-importer.png

 

These docker templates were created based on already available official docker images

 

Website: https://www.firefly-iii.org/

GitHub (firefly): https://github.com/firefly-iii/firefly-iii

GitHub (importer): https://github.com/firefly-iii/data-importer
DockerHub (firefly): https://hub.docker.com/r/fireflyiii/core

DockerHub (importer): https://hub.docker.com/r/fireflyiii/data-importer

Documentation: https://docs.firefly-iii.org/
My Repository: https://github.com/SmartPhoneLover/unraid-docker-templates

 

FIREFLY III

 

DESCRIPTION
Firefly III is a self-hosted manager for your personal finances. It can help you keep track of your expenses and income, so you can spend less and save more. It supports the use of budgets, categories and tags. Using a bunch of external tools (Data Importer), you can import data. It also has many neat financial reports available.

 

Features:

- It is completely self-hosted and isolated, and will never contact external servers until you explicitly tell it to.

- It features a REST JSON API that covers almost every part of Firefly III.

- Create recurring transactions to manage your money.

- Rule based transaction handling with the ability to create your own rules.

- A double-entry bookkeeping system.

- Save towards a goal using piggy banks.

- View income and expense reports.

- 2 factor authentication for extra security.

- Supports any currency you want, including crypto currencies such as Bitcoin and Ethereum.

- Clear views that should show you how you're doing.

- Easy navigation through your records.

- Lots of charts because we all love them.

 

Live demo:
https://demo.firefly-iii.org/

 

NOTES
• Available tags for this docker image: 'latest' (stable), 'beta', 'alpha' and 'develop'.
• There are other variables that you can use, if needed. Check the '.env.example' file of the GitHub repo to know more.
• Memcached and Redis are not required, but you can connect them to Firefly III if you experience any performance issues. Check the '.env.example' file of the GitHub repo to know more.
• Firefly III supports SQLite, if you don't want to connect to an external database, but take the performance into consideration. Check the '.env.example' file of the GitHub repo to know more.
• You can create your own string for the 'APP_KEY' variable, manually. But, you can use the cmd 'php artisan key:generate', from inside the container's terminal if you want too.

 

VERSION
1.0 (2022-05-28)

 

FIREFLY III DATA IMPORTER

 

DESCRIPTION
The Data Importer helps you to import transactions into Firefly III. It is separated from Firefly III for security and maintenance reasons.

 

The Data Importer does not connect to your bank directly. Instead, it uses Nordigen and SaltEdge to connect to over 6000 banks worldwide. These services are free for Firefly III users, but require registration. Keep in mind these services have their own privacy and data usage policies.

 

The Data Importer can import CSV files you've downloaded from your bank.
You can run the Data Importer once, for a bulk import. You can also run it regularly to keep up with new transactions.

 

Features:

- Import from over 6000 banks

- Import over the command line for easy automation

- Import over an API for easy automation

- Use rules and data mapping for transaction clarity

 

NOTES
• There are two available tags for this docker image: 'latest' (stable) and 'develop'.
• To generate your token, go to: Firefly III > Options > Profile > OAuth > 'Personal Access Tokens'.
• There are other variables that you can use, if needed. Check the '.env.example' file of the GitHub repo to know more.
• When setting both 'FIREFLY_III_URL' and/or 'VANITY_URL', make sure to add 'http://' or 'https://', even if in local, and remove any trailing slash at the end of it.
• Use the 'Reauthenticate' button if you have re-generated your token, or if you may suffer any other issue while trying to connect to Firefly.

• Memcached and Redis are not required, but you can connect them to Firefly III Data Importer if you experience any performance issues. Check the '.env.example' file of the GitHub repo to know more.

 

VERSION
1.0 (2022-05-28)


If you are going to report a bug or request something to be added/modified, please, take into consideration that I will only be able to apply changes for the work I own only. For example, if I create a docker template for an already existing docker image (not created by me), I won't be able to do more for that image than forward your report or request to the owner of the project.

Edited by SmartPhoneLover
Link to comment

Hi and thanks for the two containers :)

 

I have been using them for a short time and am currently trying to get the Firefly III importer to work, however I am having problems accessing the WebUI via a reverse proxy. I have already added the variable TRUSTED_PROXIES with the value "**" to the template, however I still get the error message "502 Bad Gateway" - as if the container is blocking access.

 

this is the log output:

 

<IP of Reverse Proxy)> - - [29/May/2022:19:43:03 +0200] "GET /favicon.ico HTTP/1.1" 200 243 "https://<url for Firefly Importer>/token" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0
[2022-05-29 19:44:08] production.INFO: The following configuration information was found:
[2022-05-29 19:44:08] production.INFO: Personal Access Token: "XXXXXXX" (limited to 25 chars if present)
[2022-05-29 19:44:08] production.INFO: Client ID : "0"
[2022-05-29 19:44:08] production.INFO: Base URL : "http://XXX.XXX.XXX.XXX:8080"
[2022-05-29 19:44:08] production.INFO: Vanity URL : "https://xxx.xxx.org"
172.18.0.7 - - [29/May/2022:19:44:08 +0200] "GET /token HTTP/1.1" 302 4612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0"

 

Can you help me? :)

Link to comment

@Voss

Hi, very sorry about the error your're facing, but I coulnd't replicate it on my side.

 

- I set Firefly to be accessible from outside (duckdns).

- Didn't add TRUSTED_PROXIES variable for Firefly nor Data Importer, and it worked just fine.

- I have used NPM for the quick configuration.

 

You could open and issue on the GitHub, maybe someone else has experienced this error.

54574.JPG

Link to comment
3 hours ago, SmartPhoneLover said:

- I set Firefly to be accessible from outside (duckdns).

- Didn't add TRUSTED_PROXIES variable for Firefly nor Data Importer, and it worked just fine.

I'm using NPM too.

Firefly also works fine for me. Only Data-Importer shows error 502 when I try to open the WebUI via reverse proxy. Were you able to connect both containers via your reverse proxy?

 

Link to comment
  • 2 weeks later...

Thank you for this excellent docker.  I've got it up and running locally, but when trying to run through NPM, having a bit of an issue.  I can access the login screen, but once I enter the login information, nothing happens.  If I refresh, it goes to the dashboard.  Then, if click on anything else, nothing happens again until I refresh the browser.  Any pointers?  Thank you.

 

Edited to add graphic:

This also happens once I do refresh - 

image.png.4b0b8611ded632b33b98b8a8b82fb4e9.png

Edited by BigMal
Link to comment
  • 4 weeks later...

I currently have a question regarding FIDI and its very basic, but I can't solve it myself.

 

I want to use my config file "import.json" from the Unraid-CLI to run the autoimporter.

But when issuing the command I always get the same error.

The error suspects to me that I haven't set the Docker-Variables correct (see screenshot)! I can't find the error there.

 

Is there a point I missed??!!

 

 

root@UNRAIDONE:/# curl --location --request POST 'http://192.168.1.104:4576/autoupload?secret=fD5uYmC3UqSWNMXjcF8'  --header 'Accept: application/json'  --header 'Authorization: Bearer ey....'  --form 'json=@"/mnt/user/appdata/firefly-importer/uploads/import.json"'
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="color-scheme" content="light dark">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="http://192.168.1.104:4576/css/bootstrap-dark.min.css?version=0.9.9">
    <link href="http://192.168.1.104:4576/fa/css/all.min.css" rel="stylesheet">

    <meta name="theme-color" content="#111111" media="(prefers-color-scheme: light)">
    <meta name="theme-color" content="#eeeeee" media="(prefers-color-scheme: dark)">

    <title>500 error :(</title>
</head>
<body>
<div class="container">
    <div class="row mt-3">
        <div class="col-lg-10 offset-lg-1">
            <h1>Whoops! 500 :(</h1>
            <p>
                Sorry, the Firefly III Data Importer broke down.
            </p>
            <h2>Error message</h2>
            <p class="text-danger">
                Disabled, not allowed to import.
            </p>
            <h2>More information</h2>
            <p>
                The error occurred in <code>/var/www/html/app/Http/Controllers/AutoUploadController.php:56</code>.
            </p>
            <p>
            Please collect more information in the <code>storage/logs</code> directory, where you will find log files.
                If you're running Docker, use <code>docker logs -f [container]</code>.
                You can read more about collecting error information <a href="https://docs.firefly-iii.org/faq/other#how-do-i-enable-debug-mode" target="_blank">in the FAQ</a>.
            </p>
            <h2>Get help on GitHub</h2>
            <p>
                You're more than welcome to open a new issue <strong><a href="https://github.com/firefly-iii/firefly-iii/issues">on GitHub</a></strong>.
            </p>
            <ol>
                <li>Use the search!</li>
                <li>Include the information <a href="http://192.168.1.104:4576/debug">from this debug page</a>.</li>
                <li>Tell us more than &quot;it says Whoops!&quot;</li>
                <li>Include error logs (see above).</li>
                <li>Tell us what you were doing.</li>
            </ol>

        </div>
    </div>
</body>
</html>

 

Best regards

Michael

 

 

 

 

2022-07-07 22_50_15-UNRAIDONE_UpdateContainer.png

Edited by DW_Michi
other error
Link to comment
  • 3 weeks later...

Thanks for this docker! One question: It says I need to set up cron jobs for recurring transactions... How do I do this since crontab isn't available in the container?

 

[Edit] Created a User Script with

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

Does the job.

Edited by jesta
Link to comment
  • 4 months later...

I am having the same issue as BigMal.  did you ever get it resolved?  I can access the app internally just fine, however, if I try to use my reverse proxy, it shows the login screen, but doesn't go beyond that, even with the right password

 

Re-read the .env files from the GitHub.

 

Add a new variable TRUSTED_PROXIES = ** ( not the IP of the proxy as I was doing )

 

Edited by Ben deBoer
solved
Link to comment
  • 3 weeks later...

Hello,

 

Thank you for this container, I was finding it very useful until I had to restart it. I am getting an error stating it can not connect to the database. The error message states that it is trying to connect to itself instead of my database IP. How can I fix this?

Screenshot 2023-01-05 201803.png

Edited by diffdrumdave
Link to comment

For those who want email support just add variable below

 

MAIL_HOST=smtp.gmail.com

MAIL_PORT=587

[email protected]

[email protected]

MAIL_PASSWORD=yourpassword (create app one time password) use your main password will not work 

MAIL_ENCRYPTION=tls

 

If i add this variable mail will not arrive (MAIL_MAILER=log) 

 

Note for safety you can create new gmail account just for mail notifications/log

Link to comment
  • 4 weeks later...

Hello, I installed Firefly but it does not work. I created a database in MariaDB. When I install Firefly I see in my database that all the tables have been created. When I try to connect in the web interface on the port mentioned in the configuration, I have a 500 error and I see things appearing in the docker log.

 

https://pastebin.pl/view/88094c55

 

image.thumb.png.4ca265d538eabbb82084e29ca373ce94.png

Edited by nicecube
Link to comment
  • 3 weeks later...

 

I'm trying to get the Data Importer container working, and cannot get past this error: 1183782266_CleanShot2023-02-25at12_52_11.png.cafe975aaeca37dbf4e0dd2b315dbb70.png

 

The first time I configured the container I did have an extra trailing slash in the FIREFLY_III_URL variable, but have since tried reconfiguring it and reinstalling it without the trailing slash and cannot get it to remove the "//api" part. Here is my current config:

825238167_CleanShot2023-02-25at12_52_01.png.053566eff6f37d17959793bc1c87de09.png

I verified I can access the FIREFLY III API without the double slash, but cannot get the Data Importer instance to remove that double slash

1320864447_CleanShot2023-02-25at12_54_33.png.a016ba39c7851ac15d4efbce341718b3.png

 

 

Any ideas?

Link to comment
  • 3 months later...
On 1/12/2023 at 3:04 PM, Gvon said:

For those who want email support just add variable below

 

MAIL_HOST=smtp.gmail.com

MAIL_PORT=587

[email protected]

[email protected]

MAIL_PASSWORD=yourpassword (create app one time password) use your main password will not work 

MAIL_ENCRYPTION=tls

 

If i add this variable mail will not arrive (MAIL_MAILER=log) 

 

Note for safety you can create new gmail account just for mail notifications/log

 

Hi, I set it up like you did but it doesn't send any email, and I don't see any errors in the log. I use email with an app password. Any ideas? Is somebody able to get an .env file to pass the variables? Thank you.

Link to comment
  • 2 weeks later...
On 6/7/2022 at 8:55 AM, BigMal said:

Thank you for this excellent docker.  I've got it up and running locally, but when trying to run through NPM, having a bit of an issue.  I can access the login screen, but once I enter the login information, nothing happens.  If I refresh, it goes to the dashboard.  Then, if click on anything else, nothing happens again until I refresh the browser.  Any pointers?  Thank you.

 

Edited to add graphic:

This also happens once I do refresh - 

image.png.4b0b8611ded632b33b98b8a8b82fb4e9.png

 

Not sure if you figured out your problem but what fixed this for me was adding two new variables to the template file TRUSTED_PROXIES & APP_URL. Hope this helps.

https://docs.firefly-iii.org/firefly-iii/installation/docker/#docker-and-reverse-proxies

Edited by SnugglyDino
Link to comment
  • 1 month later...
  • 3 weeks later...

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.