Actual - Self Hosted, Privacy Friendly Financial Planning System
-
@random_eric Ah nice, I will give this a try later today! Actual doesn't need any database configuration and such?
-
App Package Created for Actualbudget
Hello everyone!
I've created a Cloudron App Package for Actualbudget. This package was created after following the instructions in the Cloudron app packaging tutorial, cheat sheet, as well as by following best-practices observed in other, existing Cloudron app packages. If you want to give Actualbudget a try on Cloudron, it's available now at the following git repository:
I've tested the application to the fullest extent possible as an individual. Please feel free to share any feedback with me here!
@girish I believe my app package is ready for unstable status and inclusion into the Cloudron app market. Note that:
- The
Dockerfile
andstart.sh
files properly expose environment variables, configuration files, and encapsulates the upstream app data in/app/data
in a non-naive manner. - The app package contains a detailed and well-defined
CloudronManifest.json
file with all relevent fields, includingmedialinks
,minBoxVersion
,icon
, andhealthCheckPath
. - The app package contains a complete
DESCRIPTION.md
,POSTINSTALL.md
, andCHANGELOG
.
I believe the only thing that this application is lacking are the selenium tests. I hope to contribute these at a later date.Edit: As of 2023-12-24, the repository also includes a complete set of application lifecycle tests, such as:
- Installing the app, and configuring it with test credentials and data
- Logging in and out of the app
- Restarting the app
- Backing up and restoring from backup
- Moving the app to a different location (i.e. subdomain)
Updating the app*
*The only test that I was unable to implement is the app update test. From what I can tell, the app needs to be published on the Cloudron store for that. I assume you'll be able to implement that final test once the app is published
- The
-
Thank you very much for packaging and testing this application.
You deserve a good rest over the Christmas holidays now!The question a lot of us will have now is, "Which application next?"
What I would like to ask you, Sydney, is what prompted you to package Actual in the first place? Also, how was your experience in the packaging process? Did you have all the information you needed readily at hand? Do you think you might try another program, too?
-
@LoudLemur Thank you for your warm thanks and holiday wishes! I had packaged Actual because I wanted to use it for my personal use. Indeed, that was why I originally created this thread on the App wishlist nearly two years ago. Ultimately, I realised the best way for me to contribute back to the Cloudron community, was to package the apps I needed myself - that's what inspired me to go ahead and package this application!
As for feedback on the packaging process: I found it a little difficult and unintuitive, particularly because it was difficult to find all the information that I needed, and a lot of it was scattered in many places. In my opinion, the documentation for the app packaging process is rather sparse. This is because although the different files and options are adequately documented, there is very little on best practices.
Indeed, the best source of information on app packaging was from the repositories of existing applications. I spent the vast majority of my time leafing through the
Dockerfile
,start.sh
, andCloudronManifest.json
of apps like:- https://git.cloudron.io/cloudron/hedgedoc-app/
- https://git.cloudron.io/cloudron/hastebin-app/
- https://git.cloudron.io/cloudron/ghost-app/
I would often compare and contrast them, or look at how @girish would accomplish a common task like provisioning a
config.json
file, in order to know how to package my own app.Overall, I'd say that the app packaging process is adequate, but has significant room for improvement. Perhaps this would be an opportunity for me to contribute to the documentation in the future
Finally, as for future steps: I hope to first understand how to configure selenium tests for my existing app, so I can understand the complete, end-to-end packaging process. Once I get tests figured out, I'll move on to other apps!
-
I implemented automated testing!
A final update: I implemented automated testing for the package. The tests include:
- Installing the app, and configuring it with test credentials and data
- Logging in and out of the app
- Restarting the app
- Backing up and restoring from backup
- Moving the app to a different location (i.e. subdomain)
You can run the tests within the
test/
directory using:USERNAME=<cloudron username> PASSWORD=<cloudron password> mocha test.js
At this point, I believe this package is 90% ready for inclusion into the Cloudron marketplace. Please let me know if there's any additional improvements or modifications that I can make!
-
@Sydney Incredibly well done package! There are some minor issues that I will sort out tomorrow.
In the meantime, I will publish this as unstable.
I have moved your repo to https://git.cloudron.io/cloudron/actual-server-app . Do you have an account on our git.cloudron.io ? I will give you permissions to the repo, if you can give me your username there. Thanks!
-
-
-
Awesome! I'm glad Actual is published. I'll make an account on git.cloudron.io shortly, and contribute some further tests. Thank you for accepting my work!
-
@Sydney said in Actual - Self Hosted, Privacy Friendly Financial Planning System:
App Package Created for Actualbudget
Hello everyone
Hello to you... And thank you so much for a great contribution plus the 'direction pointing' as to where we can head to, so to start wet our own feet building apps.
A bit here, a bit there, and a bit from @girish, a bit from @BrutalBirdie ,and a bit from you, etc., it's adding up. I'm sure we'll eventually come to put together a clearer path, for all of us fearless and brave adventurers who dare to deep dive into the wonderful journey of building apps for Cloudron, for ourselves and bros, and sis...
-