-
Notifications
You must be signed in to change notification settings - Fork 47
Security hardening: pinned versions, locked deps, CUDA/PyTorch upgrades #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
MadiatorLabs
wants to merge
5
commits into
runpod-workers:main
Choose a base branch
from
MadiatorLabs:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
4858d3d
Security changes now all is static
MadiatorLabs df23095
Unify dockerfiles and remove CUDA 12.4
MadiatorLabs 9098e9c
chore: review fixes and add changelog
TimPietruskyRunPod 4dcbe5c
feat: add CUDA-versioned docker image tags
TimPietruskyRunPod 28cbd0b
feat: standardize docker tags with CUDA versions, deprecate 5090 tags
TimPietruskyRunPod File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| # Changelog | ||
|
|
||
| All notable changes to this project will be documented in this file. | ||
|
|
||
| ## [Unreleased] | ||
|
|
||
| ### Breaking Changes | ||
|
|
||
| - **Venv path renamed** from `.venv` to `.venv-cu128`. Existing users on the legacy (non-Blackwell) template will see a one-time re-setup on first boot after upgrading. Blackwell and newer users are unaffected. | ||
| - **Ubuntu 22.04 → 24.04** for both images. Python 3.12 is now provided by the base OS (deadsnakes PPA no longer needed). | ||
| - **CUDA upgraded**: regular image now uses CUDA 12.8 (cu128 wheels), CUDA 13.0 image uses cu130 wheels. CUDA 12.4 is no longer supported. | ||
| - **No runtime dependency installs**: all Python dependencies are baked into the image at build time. The start script no longer runs `pip install` or executes `install.py`/`setup.py` on boot. Custom nodes installed at runtime via ComfyUI-Manager are the user's responsibility; their dependencies persist in the venv across reboots. | ||
| - **Dockerfile.5090 and start.5090.sh removed**: a single `Dockerfile` and `start.sh` now serve all variants, controlled by build args in `docker-bake.hcl`. | ||
| - **ComfyUI runs in foreground**: `exec python main.py` replaces the old `nohup` + `tail -f` pattern. Logs go directly to container stdout instead of `/workspace/runpod-slim/comfyui.log`. | ||
| - **Docker image tag scheme changed**: tags now use CUDA version instead of GPU model name. See new tag scheme below. | ||
|
|
||
| ### New Docker Image Tag Scheme | ||
|
|
||
| Tags now clearly identify the CUDA version. The old `5090`-suffixed tags are deprecated. | ||
|
|
||
| On each release (e.g. `2.0.0`): | ||
|
|
||
| | Tag | Description | | ||
| |---|---| | ||
| | `runpod/comfyui:2.0.0-cuda12.8` | Pinned release, CUDA 12.8 | | ||
| | `runpod/comfyui:2.0.0-cuda13.0` | Pinned release, CUDA 13.0 | | ||
| | `runpod/comfyui:cuda12.8` | Always latest CUDA 12.8 build | | ||
| | `runpod/comfyui:cuda13.0` | Always latest CUDA 13.0 build | | ||
| | `runpod/comfyui:latest` | Always latest CUDA 12.8 (default) | | ||
|
|
||
| **Deprecated tags** (no longer produced): | ||
| - `runpod/comfyui:*-5090` | ||
| - `runpod/comfyui:latest-5090` | ||
|
|
||
| ### Added | ||
|
|
||
| - Centralized version pinning in `docker-bake.hcl` (single source of truth for ComfyUI, custom node SHAs, PyTorch, FileBrowser). | ||
| - Hash-verified dependency lock file generated at build time via `pip-compile --generate-hashes`. | ||
| - `scripts/fetch-hashes.sh` to query GitHub API for latest custom node commit SHAs. | ||
| - `scripts/prebake-manager-cache.py` to pre-populate ComfyUI-Manager cache at build time, reducing cold start time. | ||
| - ComfyUI-RunpodDirect added as a pre-installed custom node. | ||
| - Git init with tagged commits and upstream remotes at build time so ComfyUI-Manager can detect versions. | ||
| - FileBrowser pinned to a specific version with SHA256 checksum verification. | ||
| - PyTorch 2.10.0 + torchvision 0.25.0 + torchaudio 2.10.0 for both images. | ||
| - Separate PyTorch version pins for regular and CUDA 13.0 images so versions can diverge independently. | ||
|
|
||
| ### Removed | ||
|
|
||
| - `Dockerfile.5090` (unified into `Dockerfile` with build args) | ||
| - `start.5090.sh` (unified into `start.sh`) | ||
| - Runtime `git clone` and `pip install` loops from start script | ||
| - `golang` and `make` from runtime image (no longer needed without FileBrowser build-from-source) | ||
| - deadsnakes PPA and ffmpeg-nvenc PPA dependencies | ||
| - `5090`-suffixed Docker image tags (replaced by CUDA-versioned tags) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verify
opensslavailability in runtime stage:start.shusesopenssl rand -base64 12for SSH password generation when noPUBLIC_KEYis set. The runtime stage doesn't explicitly installopenssl. It likely comes as a transitive dependency ofopenssh-serverorlibssl-dev, but commit6f77fe5on main ("chore: add openssl") suggests this was previously an issue.Please verify it's present in the final image, or add it explicitly to the
apt-get installlist to be safe.