Affirmatech / MeshSense

MeshSense directly connects to your Meshtastic node via Bluetooth or WiFi and continuously provides information to assess the health of your mesh network.
https://affirmatech.com/meshsense
GNU General Public License v3.0
47 stars 6 forks source link

[Feature] Containerization for running via Docker #28

Open blobberbun opened 3 weeks ago

blobberbun commented 3 weeks ago

It would be great to have automated docker builds of the most recent releases that would push to Dockerhub for easy deployment and updates

I believe this would restrict management to WiFi as Bluetooth pass through would be complex if not impossible

blobberbun commented 3 weeks ago

looks like this has been discussed to some length here

Soltares commented 3 weeks ago

Thanks for creating an issue for this. I certainly appreciate Docker for large applications with arms and legs of dependencies. Part of the design decisions for MeshSense, however, was to go with Electron to be very straightforward for deployment and updates. Windows/Linux/Mac deployments are currently a single artifact that can execute and run with updates handled within the application.

I'm trying to rationalize the benefits of introducing docker as it almost seems like increased complexity. For the official builds we also sign the artifacts using an in-house Affirmatech certificate and I'm not sure how that would play in the automation.

The only data files explicitly saved by the application live in $HOME/.local/share/meshsense (on Linux) in order to save a few state related information. Otherwise the system shouldn't be polluted by anything outside of Electron standard operating procedures.

Not trying to dismiss Docker -- only trying to weigh the benefits vs time investment. :+1:

blobberbun commented 3 weeks ago

@Soltares thank you for the thorough and detailed response. I like the idea of a redundant/distrubuted solution that can be added as a part of my homelab environment.

I've got Proxmox running on an x86 machine as well. I'll see if I can't make a solution workable there.