[Feature Request] Docker Support for Easier Installation and Deployment
I would like to request or suggest the addition of Docker support. Incorporating Docker would streamline the setup process, making it easier for new users to get started, and would significantly reduce environment-related issues, thereby enhancing portability and scalability. This would be particularly advantageous for users who wish to deploy libonvif in various environments, ensuring consistency across different setups.
This would be great. The Arch AUR repo for both onvif-util and onvif-gui fail to build. Python is too delicate of a language to run outside of a controlled environment like what docker provides.
Thank you so much for reaching out, and apologies for the delayed response. The installation and setup process certainly is not ideal. The complexity of the application presents a number of challenges, not the least of which is the python environment. Just as a note, I was not even aware that there was an Arch repo for the application, somebody must have taken it upon themselves to post that.
Regarding Docker, to be honest, I have not ever been a big fan. I am not aware of the current state of the project, but I remember a time when Docker did not provide access to GPU. They probably have worked something out, but I have not been back to revisit in some years. This is an issue that I have with Virtual Machines as well, in that GPU support often requires some trick to get working, and usually is not a universal solution when working cross-platform.
Application performance is heavily GPU dependent, so my choice thus far has been to go bare metal. In my mind, which is often stuck in old habits, Containers and VMs are just more middleware that gets in the way of optimal performance, so I tend to avoid those types of solutions. However, installation procedures for the application are due for an update, so these options should probably get a fresh look.
Thanks for responding. VMs are horrible middleware that gets in the way of optimal performance. I completely agree with you on this. I do not find the overhead of Docker even something I can notice. I run AI workloads such as Stable Diffusion in docker as I find python too delicate to be configured on the server other than a simple base level. Python needs to be configured for each application, and docker provides that.
Running GPU in docker (Nvidia) is as simple as:
- Verify Nvidia GPU drivers are installed: nvidia-smi
- Verify docker is installed: docker info
- Verify GPU works in docker: docker run --gpus all nvidia/cuda nvidia-smi
I totally agree with @mabushey. Docker scene has improved a lot.