Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new “Voicebox” derivative image to the Vast.ai PyTorch derivatives suite, including container build logic, Supervisor wiring, and end-user documentation for running the Voicebox TTS server.
Changes:
- Added a Voicebox Supervisor startup script and Supervisor program configuration.
- Added Voicebox derivative Dockerfile to build/install Voicebox (backend + frontend) on top of a Vast PyTorch base image.
- Added Voicebox documentation (template README + repo README) and a scheduled/manual GitHub Actions workflow to build/push images.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| derivatives/pytorch/derivatives/voicebox/ROOT/opt/supervisor-scripts/voicebox.sh | Starts Voicebox under Supervisor, waits for provisioning, sets up persistent data dir, launches backend. |
| derivatives/pytorch/derivatives/voicebox/ROOT/etc/supervisor/conf.d/voicebox.conf | Registers Voicebox as a Supervisor-managed service with stdout logging to container logs. |
| derivatives/pytorch/derivatives/voicebox/README.template.md | Vast template-facing documentation for using the Voicebox instance (ports, token, HTTPS, etc.). |
| derivatives/pytorch/derivatives/voicebox/README.md | Repository documentation for the derivative image (tags, CUDA notes, build instructions). |
| derivatives/pytorch/derivatives/voicebox/Dockerfile | Builds the Voicebox image (clone/install deps, build frontend, patch URLs, validate torch unchanged). |
| .github/workflows/build-voicebox.yml | CI workflow to detect new upstream releases and build/push Voicebox images across a base-image matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| Images are tagged with the CUDA version they were built against (e.g. `v0.3.1-cuda-12.9-py312`). This does not mean you need that exact CUDA version on the host. | ||
|
|
||
| **Minor version compatibility:** NVIDIA guarantees that an application built with any CUDA toolkit within a major version family will run on a driver from the same family. A `cuda-12.9` image runs on any CUDA 12.x driver (driver >= 525), and a `cuda-13.1` image runs on any CUDA 13.x driver (driver >= 580). The 12.x and 13.x families are separate. |
There was a problem hiding this comment.
The CUDA compatibility section references a cuda-13.1 image/tag, but the build workflow for Voicebox builds against cuda-13.2 base images (cu130). To avoid confusing users, update these examples to match the actual tags being produced (or generalize the wording to cuda-13.x).
| **Minor version compatibility:** NVIDIA guarantees that an application built with any CUDA toolkit within a major version family will run on a driver from the same family. A `cuda-12.9` image runs on any CUDA 12.x driver (driver >= 525), and a `cuda-13.1` image runs on any CUDA 13.x driver (driver >= 580). The 12.x and 13.x families are separate. | |
| **Minor version compatibility:** NVIDIA guarantees that an application built with any CUDA toolkit within a major version family will run on a driver from the same family. A `cuda-12.9` image runs on any CUDA 12.x driver (driver >= 525), and a `cuda-13.2` image runs on any CUDA 13.x driver (driver >= 580). The 12.x and 13.x families are separate. |
| - A `cuda-12.9` image will run on any machine with a CUDA 12.x driver (driver >= 525). | ||
| - A `cuda-13.1` image will run on any machine with a CUDA 13.x driver (driver >= 580). | ||
| - The 12.x and 13.x families are separate — a `cuda-13.1` image will not work with a 12.x driver under minor version compatibility alone. | ||
|
|
||
| Choose the CUDA variant that matches your driver's major version. Within that family, any minor version will work. | ||
|
|
||
| ### Forward Compatibility | ||
|
|
||
| [Forward compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/forward-compatibility.html) allows newer CUDA toolkit versions to run on older drivers. It is only available on **datacenter GPUs** (and select NGC Server Ready RTX cards). All of our images include the CUDA Compatibility Package (`cuda-compat`) to support this. | ||
|
|
||
| For example, with forward compatibility a `cuda-12.9` image could run on a datacenter machine with a CUDA 12.1 driver, or a `cuda-13.1` image could run with a CUDA 12.x driver. Consumer GPUs do not support forward compatibility and require a driver that natively supports the image's CUDA version. | ||
|
|
There was a problem hiding this comment.
This README refers to a cuda-13.1 image/tag, but the Voicebox GitHub Actions workflow matrix uses cuda-13.2 (cu130) PyTorch base images and will publish tags like ...-cuda-13.2-py312. Please update the examples/wording to match the produced tags (or generalize to cuda-13.x).
There was a problem hiding this comment.
Generic info
| docker buildx build \ | ||
| --build-arg PYTORCH_BASE=vastai/pytorch:2.9.1-cu128-cuda-12.9-mini-py312-2026-03-19 \ | ||
| --build-arg VOICEBOX_REF=v0.3.1 \ | ||
| -t yournamespace/voicebox . | ||
| ``` |
There was a problem hiding this comment.
The PYTORCH_BASE example tag uses a different datestamp (...-2026-03-19) than the current default in the Dockerfile / workflow matrix (...-2026-03-26). Consider updating the example to the current default (or wording it as a placeholder) so copy/paste builds don’t fail due to a non-existent/old tag.
| stopasgroup=true | ||
| killasgroup=true | ||
| stopsignal=TERM | ||
| stopwaitsecs=10 |
There was a problem hiding this comment.
All other Supervisor program configs in this repo include the standard note above stdout_logfile=/dev/stdout explaining why stdout must be used for Vast logging (e.g. derivatives/pytorch/derivatives/a1111/ROOT/etc/supervisor/conf.d/a1111.conf:12). Consider adding the same comment here for consistency and to avoid accidental regressions during future edits.
| stopwaitsecs=10 | |
| stopwaitsecs=10 | |
| ; NOTE: Vast expects container logs on stdout; do not change this to a file path. |
No description provided.