Solved Firefly III: A personal finances manager
-
- Website: https://firefly-iii.github.io/
- Demo: https://firefly-iii.nder.be/login
- Source code: https://github.com/firefly-iii/firefly-iii
-
I would love to see this app on Cloudron. As of this reply, the project seems to be in an intact and active state.
-
Website is now:-
https://firefly-iii.org/ -
Just stumbled on this one, to see it is already in the suggested list.
It has also third party android app and development is still ongoing regularly.There's a docker for this: https://firefly-iii.readthedocs.io/en/latest/installation/docker.html
-
@nebulon That would be great to see this app in
-
I just wanted to boost this wish.
-
boost it again!:)
-
I think I've managed to get a basic version of Firefly III packaged! You can find the Git repo here. The main thing to note is that the LDAP connection doesn't quite work with Cloudron's system yet. @girish @nebulon I'm hoping one of you can help look through this and see if we can get a proper connection going? If we can link up the LDAP system, I'm happy to write some tests for this app so we can publish it to the Cloudron App Store.
There's also a no-ldap branch available which will let users register their own accounts on the app, not trying to use LDAP at all. If we can't get a successful LDAP connection going, then I can write tests for this version instead for the App Store.
-
@thetomester13 Thanks for packaging this! I gave this a shot now and managed to get ldap login to work as well. We do need a Cloudron side change though to get the ldap login working - https://git.cloudron.io/cloudron/box/commit/602b335c0e96c9ef58ee39971b452ccd437c5c8f
I will try to push my LDAP changes to the package tomorrow. But the settings I used are:
# LDAP connection settings ADLDAP_CONTROLLERS=172.18.0.1 ADLDAP_PORT=3002 ADLDAP_TIMEOUT=5 ADLDAP_BASEDN=ou=users,dc=cloudron ADLDAP_FOLLOW_REFFERALS=false ADLDAP_USE_SSL=false ADLDAP_USE_TLS=false ADLDAP_ADMIN_USERNAME=cn=85cb9d8b-6d81-46c2-8bf3-c5fd2e27b890,ou=apps,dc=cloudron ADLDAP_ADMIN_PASSWORD=6f1e444fd4371e11b5adb1f0bf1f3abfe9016c45255868734c5a43c7eb49c44f70ef805c47259f2f2e45a13110c1686221e728c029e41fc298e6a34f9267daa2 ADLDAP_ACCOUNT_PREFIX="username=" ADLDAP_ACCOUNT_SUFFIX=",ou=users,dc=cloudron" # LDAP authentication settings. ADLDAP_PASSWORD_SYNC=false ADLDAP_LOGIN_FALLBACK=false ADLDAP_DISCOVER_FIELD=username ADLDAP_AUTH_FIELD=username # Will allow SSO if your server provides an AUTH_USER field. WINDOWS_SSO_DISCOVER=username WINDOWS_SSO_KEY=AUTH_USER # field to sync as local username. ADLDAP_SYNC_FIELD=mail
-
@girish excellent, thanks for helping make LDAP work properly! When can we expect the Cloudron box package fix to be released? When it is I can update the Firefly Cloudron app and start working on tests. Cheers!
-
@thetomester13 Oh man, if this goes live on Cloudron it'll make the start of the year AMAZING! Thank you all for working on it!
-
This is an exciting package to get rolling. I have been wanting this for a while but never got around to packaging it myself. Great work!
-
@thetomester13 I have moved the repo to https://git.cloudron.io/cloudron/firefly-iii-app. It contains the LDAP fix. You should have permissions to the repo as well.
As for the box release, that will take a week (hopefully next week). For the moment, you can just apply https://git.cloudron.io/cloudron/box/commit/602b335c0e96c9ef58ee39971b452ccd437c5c8f by hand. Just edit
/home/yellowtent/box/src/ldap.js
on the server and make the above change. Thensudo systemctl restart box
. -
I have published this app in unstable now.
-
@girish I do not see this app in unstable on my end, are we waiting until the next cloudron release?
-
Oops, indeed. Forgot to mention that this requires Cloudron 4.4.4. You can try this on the demo cloudron which is already updated to 4.4.4 (https://my.demo.cloudron.io - username and password is cloudron).
-
@girish sweet, I was able to get the app up and running with the change to the LDAP file, going to start working on some tests now! I'll update this thread with progress.
-
Has anyone figured out how to get Spectre working properly? Once I do the initial import (which works VERY well) it fails subsequent imports.
-
Works quite well but i have the "locales"-problem on Cloudron.
https://github.com/firefly-iii/help/wiki/Missing-locale-packagesInstalling them manually does not help(?). Is this a Cloudron-thing?
-
@murgero I actually haven't used Firefly before this (was waiting for the 'perfect' setup..). Do subsequent imports happen automatically? Or does the user need to trigger it? I know there's a
cron
that's supposed to run once per day and I believe that's set up properly in the CloudronManifest, but not sure how to test that that is doing its job properly.@timbo when did you last pull the project's code? That was an issue originally, but should have been solved with some more recent updates.
-
@thetomester13 said in Firefly III: A personal finances manager:
@murgero I actually haven't used Firefly before this (was waiting for the 'perfect' setup..). Do subsequent imports happen automatically? Or does the user need to trigger it? I know there's a
cron
that's supposed to run once per day and I believe that's set up properly in the CloudronManifest, but not sure how to test that that is doing its job properly.@timbo when did you last pull the project's code? That was an issue originally, but should have been solved with some more recent updates.
i just installed the "unstable"-Version from the App Store.
-
-
@thetomester13 looks like it's 4.8.2 as per https://cloudron.io/appstatus.html (it also tells you this when you click on Firefly in the app store)
-
@thetomester13 Just noticed that you have already started on some tests. I will get it merged now and also update the package to 5.0.0
-
@thetomester13 I have merged your test branch, thanks for writing the tests! I have published 5.0.0 and moved the app to stable. Do you want to inform the upstream project about this package? Maybe we can add it to https://github.com/firefly-iii/firefly-iii#get-started ?
-
@girish I was going to try and close the loop on some of those automated tests but thanks for crossing the finish line for me there! Glad this can be a nice addition to the Cloudron App Store portfolio! I definitely plan on updating the Firefly III repo to link to the App Store as well.
-
i still get the formatting error as stated before though
-
@timbo Yes, I was just updating the package adding the popular locales.
-
Sorry for hitting you up again but i still get the problem, even after uninstall and a fresh install with the package being last updated "about 10 minutes" ago. i even made sure that the right locales are installed on my root and rebootet the server.
-
@timbo The locales have to be installed in the app package and not on the server. I just pushed the update now (package version 1.1.0). Can you try on that? Just install a new ff to get the latest package or updates -> check for updates.
-
@girish Yes it works now after manually updating again, confirming Package 1.1.0 being installed with the pop locales. Thanks girish for you amazing work!
-
@girish It seems there is still an error in this app.
After adding a recurring transaction, the UI shows the following warning:
Message: It seems the cron job that is necessary to support recurring transactions has never run. This is of course normal when you have just installed Firefly III, but this should be something to set up as soon as possible. Please check out the help-pages using the (?)-icon in the top right corner of the page.
After looking into it, I found that the cron job is added in the
CloudronManifest.json
file. But looking in the application logs, showed nothing about that task actually being run.So I opened the console, and ran the command manually:
sudo -u www-data php /app/code/artisan firefly-iii:cron
This resulted in an error. Instead of pasting the gigantic stack trace, let me summarize it:
[2020-02-08 00:24:14] local.ERROR: SQLSTATE[08006] [7] invalid port number: "${CLOUDRON_POSTGRESQL_PORT}" (SQL: select * from "recurrences" where "recurrences"."deleted_at" is null order by "active" desc, "title" asc) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 7): SQLSTATE[08006] [7] invalid port number: \"${CLOUDRON_POSTGRESQL_PORT}\" (SQL: select * from \"recurrences\" where \"recurrences\".\"deleted_at\" is null order by \"active\" desc, \"title\" asc) at /app/code/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669) [stacktrace cut] [previous exception] [object] (Doctrine\\DBAL\\Driver\\PDOException(code: 7): SQLSTATE[08006] [7] invalid port number: \"${CLOUDRON_POSTGRESQL_PORT}\" at /app/code/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:31) [stacktrace cut] [previous exception] [object] (PDOException(code: 7): SQLSTATE[08006] [7] invalid port number: \"${CLOUDRON_POSTGRESQL_PORT}\" at /app/code/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27) [stacktrace cut]
Any idea why this fails?
-
Looks like the sudo is missing
-E
. I will update the package. -
@jk Pushed an update now to fix it.
-
@girish Thanks. That was fast!
-
Is this app only working with LDAP? No open registration? If so, can we change this?
-
@timbo Not yet, can you create an issue at https://git.cloudron.io/cloudron/firefly-iii-app ?