Skip to content

Conversation

@Mars122
Copy link

@Mars122 Mars122 commented Nov 15, 2025

Title: Add RunPod-ready Docker + Startup (SSH, JupyterLab, FileBrowser) with CUDA 12.1 + cuDNN 9

Summary

This PR adds an optional, self-contained Docker + startup setup for quickly running DiffSplat on GPU pods (e.g., RunPod). It includes:

  • SSH server (22), JupyterLab (9999), FileBrowser (9090), optional Nginx welcome (80)
  • CUDA 12.1 base with cuDNN 9 (libcudnn9-cuda-12)
  • PyTorch 2.3.1 cu121 + xformers 0.0.27
  • Clear, documented startup script with key-based SSH and Jupyter password support

Motivation

Many users run DiffSplat on cloud GPU pods. A batteries-included image with consistent ports and a one-shot startup script reduces setup friction, makes debugging easier (SSH/Jupyter/FileBrowser), and accelerates new contributors.

What’s included

  • Dockerfile.runpod — Non-invasive Dockerfile that assumes it lives at repo root and installs common GPU + dev tooling, Jupyter, FileBrowser, SSH.
  • start.runpod.sh — Starts the three services safely; emits useful debugging info.
  • Docs (this PR body) — How to use and why.

Ports

  • 22: SSH
  • 80: Nginx (optional welcome page)
  • 9090: FileBrowser
  • 9999: JupyterLab

Auth

  • SSH keys: set PUBLIC_KEY env var (or bake via build arg) to auto-append to ~/.ssh/authorized_keys.
  • Jupyter: set JUPYTER_PASSWORD (recommended) or copy token from logs.

RunPod notes

  • HTTP services (80/9090/9999) appear under https://<pod>-<port>.proxy.runpod.net/.
  • SSH is a raw TCP port; map it in the UI and connect with ssh -i <key> root@host -p <port>.

Testing steps

  1. Build the image and run with GPU access.
  2. Confirm nvidia-smi works in the container.
  3. Open Jupyter and FileBrowser via the proxy URLs.
  4. Use SSH + SFTP to move files quickly.

Non-goals

  • This does not change core DiffSplat code, training loops, or dependencies beyond runtime tooling.
  • The Dockerfile is optional; existing workflows continue to work.

License and attribution

  • Apache 2.0 (matches project license).
  • Adapted from the author’s GPU dev image (Mars122/DiffSplat-Docker).

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.

1 participant