hay-kot / homebox

Homebox is the inventory and organization system built for the Home User
https://hay-kot.github.io/homebox/
GNU Affero General Public License v3.0
2.62k stars 184 forks source link

Option for 100% self hosted without external resources #748

Closed DO1JLR closed 5 months ago

DO1JLR commented 6 months ago

What is the problem you are trying to solve with this feature?

Homebox is a great inventory system for self-hosting. However, I would prefer not to include external resources in a self-hosted variant. As far as I have seen, elements from api.iconify.design are included. I would like to do without something like that.

What is the solution you are proposing?

The iconify documentation states that the service can also be self-hosted. So it would be cool if you had the option of using your own iconify api, for example.

What alternatives have you considered?

A variant that works completely without the iconify API would of course also be an interesting consideration, but I suspect that this could be more work.

Additional context

No response

Contributions

hay-kot commented 6 months ago

100%

Fix would be to replace existing icons with this library

https://github.com/unplugin/unplugin-icons

These will get compiled into the build so no need for external services.

colbach commented 5 months ago

Oh, I didn't even knew they were using such external components. I really hope that they change this because this is really a deal breaker. Does anyone know what happens when the service is not reachable?

virtadpt commented 5 months ago

@colbach Graphical elements - icons - won't show up when a page loads. No SVG files, no CSS that tweaks the SVG icons (backgrounds, transparency, shading). Whatever iconset plugins added on won't load. In short, broken UI.

This has me wondering... one of the goals for this software is "Homebox is designed to be portable and run on anywhere. We use SQLite and an embedded Web UI to make it easy to deploy, use, and backup." That implicitly means in locations and situations where this is no access to the Net as well as carrying your inventory around on a flash drive. Why aren't the assets being baked into the build so this is possible?

colbach commented 5 months ago

For me a much bigger problem is that this binds the lifespan of an external service onto the lifespan of this app. I mean, if homebox is discontinued one day and then this service disappears, it will break the self hosted service. I don't want to put years of work into entering data just to find out that I can not run it anymore. If the software is abandoned but self contained, I will always have the option to spin it up on an old linux version and use it in an VLAN where no other malicious device in my network can access it.

virtadpt commented 5 months ago

@colbach Homebox isn't the external service, though.

colbach commented 5 months ago

@virtadpt Why would this relevant whether it is? It is relying onto an external service without real necessity. This makes it impossible to redeploy old code in >20 years when the service long gone. What is the point of self hosting when relying on hosted services anyway? This means (1) need internet, (2) rely on an external provider and (3) loose the reproducibility.