Skip to content

feat: containerize deployment#584

Open
Matthammond96 wants to merge 6 commits intoMr-Homeless:mainfrom
Matthammond96:main
Open

feat: containerize deployment#584
Matthammond96 wants to merge 6 commits intoMr-Homeless:mainfrom
Matthammond96:main

Conversation

@Matthammond96
Copy link

@Matthammond96 Matthammond96 commented Oct 1, 2025

Firstly, great work on this project. That said, I found the installation process to be quite complex, involving too many manual steps. From experiencing running an open sources project this will deter non-developers and take dev time solving various system edge-case with WSL.

To address this, this MR introduces a containerized solution that simplifies installation and also supports cloud-hosted environments such as Nosana and DigitalOcean GPU.

For Windows users, I suggest updating the installation guide to use WSL (via the Windows Store), which makes setup less intimidating. From there, the workflow would involve installing Docker Desktop, installing and configuring nvidia-ctk, and running the service in a container. This ensures all Python dependencies and environment configuration are handled automatically.

Example run command:

docker run --rm -it --runtime=nvidia --gpus all -p 5000:5000 matthammond962/waldo:v1.0.0-alpha

Notes

  • I have not tested the inference as I do not have any sample videos to test with, therefore you may have to tweak the docker and entrypoint files to ensure the model is downloaded to the correct location.
  • nvidia-ctk is required to enable GPU passthrough to the Docker container.
  • The model is currently bundled inside the Dockerfile. This makes the initial build slower than leveraging Hugging Face’s optimized model storage. A possible improvement would be to use Docker volumes and download the model on first run.

I have successfully tested the image on a remote server using Nosana, a decentralized GPU compute network, since my local GPU doesn’t have sufficient VRAM. Below is a link to the job results, along with a deploy folder included in this MR containing the Nosana configuration used for the job.

🔗 https://dashboard.nosana.com/jobs/GJuMb2wQqxK1qNSAx8gpmfNVdhzXoPkYpkN8hesZM6wS

Update
I have added a build arg to remove the model from docker image and published a modelless version. I have also optimised the Nosana deployment to pull model prior to launching the container utalizing HF fast model storage for quicker spin up.

@cwdaniel
Copy link

cwdaniel commented Oct 2, 2025

I believe the maintainers of this project need to carefully evaluate the role of Nosana within this project. At present, its necessity is unclear, and incorporating it as a core dependency introduces significant architectural and security concerns. Specifically, the current approach relies on downloading and executing custom container images that are not authored or maintained by the upstream project owners. This creates a situation where users cannot independently validate provenance or integrity, which poses an unacceptable security risk in production systems.

Even with the best intentions, such a design decision exposes the platform to supply-chain vulnerabilities and undermines trust in the deployment pipeline. Before adopting Nosana as a feature, the original author of this PR should first establish a clear justification for its inclusion and ensure there are verifiable mechanisms for image authenticity, maintenance responsibility, and long-term support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants