Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How complex would it be to slim down the project a bit? #279

Open
1 of 4 tasks
igorsantos07 opened this issue Aug 17, 2024 · 1 comment
Open
1 of 4 tasks

How complex would it be to slim down the project a bit? #279

igorsantos07 opened this issue Aug 17, 2024 · 1 comment
Labels
Priority: High Important issue or feature affecting user experience or performance; needs quick resolution. Status: In Progress Work on the issue has begun. It is actively being worked on by someone. Type: Feature Request Request of a new future feature

Comments

@igorsantos07
Copy link

igorsantos07 commented Aug 17, 2024

Avoid duplicated feature requests

  • There are no open or closed feature requests that are related to this request

Description

Hi MDeLuise!

I was about to create my own repo for a similar app, when it struck me I should google first for some open source plant monitoring app. Thanks for having had my idea a year and two weeks ago 🎉

That said, my plan was to make something that could be run from inside a HomeAssistant add-on.

If you never heard of HA, it's a local-first system to integrate all smart things into a single roof, and it also allows you to run systems from inside of it, provided such system it's docker-based - the so-called add-ons.

However, from initial research, it seems it must execute a single image, instead of a composition of images.
Besides that, it's fairly common for HA to be executed from mini-computers, such as Raspberry Pis, and thus with memory and processing constraints - (semi-related to #278).
This would obviously not only benefit the HA community, but everyone as a whole, as the project would become less resource intensive. This is great for anyone looking to run this in a VPS or any other place with other servers running at the same time (AKA anyone from r/selfhosted? haha)

Thus, I wonder if I could help with the following, if you think it's barely feasible:

  • allow the user to select between a MySQL system or run from SQLite (that's 418MB of RAM from a fresh start)
  • allow the Redis cache to be optional (obviously would eat up RAM as needed)
  • migrate from an Ubuntu image to AlpineLinux (while I know Java is a bit memory-intensive, I guess this could help reduce the current RAM usage of 514MB from a fresh start)
    • in a very bad but quick comparison, running docker images in my computer I see postgres:15-alpine takes 237MB, while mysql:8.0 takes 572MB; php:8.2-fpm-alpine+nginx:latest takes 78+187MB against 650MB on the Plant-it image; redis:7.2.1 takes 138MB against 38MB on :7-alpine.

In the meantime, I'll look on the other side of this story and check the feasibility to have a full compose setup to be used as an add-on.

Sadly I'll be unable to contribute to most of the project, given I don't know bits about Java. But maybe I can contribute with the frontend :)

Cheers!

@igorsantos07 igorsantos07 added Status: Created The issue has been created but not yet assigned or addressed. Type: Feature Request Request of a new future feature labels Aug 17, 2024
@MDeLuise
Copy link
Owner

Hi @igorsantos07,

Thank you for your detailed and thoughtful suggestions!
It should be feasible to address all the points you’ve mentioned.

I’m excited about the idea of integrating with HomeAssistant and will start looking into these tasks. I’ll keep you updated on the progress and any changes to the repo and documentation.

Thanks again for your input!

@MDeLuise MDeLuise added Status: In Progress Work on the issue has begun. It is actively being worked on by someone. Priority: High Important issue or feature affecting user experience or performance; needs quick resolution. and removed Status: Created The issue has been created but not yet assigned or addressed. labels Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: High Important issue or feature affecting user experience or performance; needs quick resolution. Status: In Progress Work on the issue has begun. It is actively being worked on by someone. Type: Feature Request Request of a new future feature
Projects
None yet
Development

No branches or pull requests

2 participants