Scenarios & Walkthroughs
Three end-to-end examples that tie the QuickPods flow together. Each assumes you’re verified, have a project, and have funded your wallet — see Launch a Pod.
Scenario 1 — Run a Jupyter notebook on an A100
Goal: an interactive GPU notebook for experimentation, with your work saved to a volume.
- Create a volume first (optional but recommended). Go to NFS Volumes → Create Volume, name it
notebooks, set Quota (GB) to 100, pick a Billing Period, and click Create Volume. See Storage & Data. - Launch the pod. Go to Pods → Launch Pod.
- On Instance Type, search
A100, confirm it shows availability, and click Select. - On Choose a Template, pick the pytorch template (PyTorch + Jupyter) — or jupyterlab-gpu for a bare JupyterLab.
- On Configure:
- Set a Pod Name (e.g.
a100-jupyter) and choose your Project. - Leave the GPU at 1 × 100%, or drop GPU Memory/Cores per GPU to a fraction if you don’t need the whole card.
- In NFS Volume, select
notebooksand keep the mount path/data. - Under SSH Key Access, pick a key if you want SSH too.
- Confirm port
8888is in Exposed Ports.
- Set a Pod Name (e.g.
- Review the Summary and click Launch Pod.
- When the pod is running, open it and use the Notebook Access card: open the Notebook URL, log in with username
podstackand the shown Password (copy it — it’s shown once). - Save your notebooks and data under
/dataso they persist. Stop the pod when you’re done to pause billing.
On JupyterHub-based images, log in with any username and your Podstack API token (
psk_...) as the password — generate one at Account > API Tokens.
Scenario 2 — Deploy ComfyUI from a template
Goal: a running ComfyUI instance for node-graph image/video generation, with models and workflows that survive restarts.
- Create a volume named
comfyui(say 250 GB) from NFS Volumes → Create Volume — ComfyUI models are large. - Go to Pods → Launch Pod.
- On Instance Type, choose a GPU with enough VRAM for your models (e.g. an L40S or A100) and click Select.
- On Choose a Template, search
comfyuiand select the comfyui template. Its image, port (8188), and startup are pre-configured. - On Configure:
- Set a Pod Name and Project.
- In NFS Volume, select
comfyui. Keep the mount path/data— ComfyUI stores custom nodes, models, and workflows under/data, and changing it means losing that setup on every restart. - Confirm the ComfyUI port (
8188) is under Exposed Ports.
- Click Launch Pod.
- When it’s running, open the pod, find the ComfyUI port under Exposed Ports & Endpoints, and open its
https://<subdomain>-8188.cloud.podstack.aiURL. - Add models and custom nodes into
/data(over SSH/SCP or from object storage). They’ll still be there after a stop/start. See the ComfyUI image reference.
Scenario 3 — Track an experiment and register a model
Goal: run training on a pod, log metrics to experiment tracking, then register the resulting model. See MLOps for full detail on each step.
Launch a training pod. Use the pytorch template on a suitable GPU, attach a volume at
/datafor your dataset and checkpoints, and add an SSH key so you can push code. See Launch a Pod.Get an API key. At Account > API Tokens, create a token (
psk_...).Instrument your training script with the Podstack registry SDK:
from podstack import registry import torch registry.init(api_key="psk_...", project_id="your-project") registry.set_experiment("sentiment-fine-tuning") with registry.start_run(name="run-1") as run: registry.log_params({"learning_rate": 0.001, "batch_size": 32, "epochs": 10}) for epoch in range(10): train_loss = train_one_epoch() val_loss, val_acc = validate() registry.log_metrics( {"train_loss": train_loss, "val_loss": val_loss, "val_accuracy": val_acc}, step=epoch, ) torch.save(model.state_dict(), "model.pt") registry.log_artifact("model.pt") run_id = run.id # Register the trained model, preserving lineage back to this run registry.register_model( name="sentiment-classifier", run_id=run_id, description="BERT fine-tuned on the v2 dataset", )Run it on the pod (over SSH or the Web Terminal):
python train.py.Review in the portal. Open Experiment Tracking → sentiment-fine-tuning, watch the run’s metrics stream in, and compare runs with the Chart and Params views.
Promote the model. In the Model Registry, expand
sentiment-classifier, then move the version through staging → production (or request approval if your team gates promotions). Optionally set an alias:registry.set_model_stage("sentiment-classifier", version=1, stage="staging", comment="passed eval") registry.set_model_alias("sentiment-classifier", alias="champion", version=1)Automate it. Create a Training Schedule for
sentiment-fine-tuning(e.g. weekly,0 2 * * 1) so the model retrains on a cadence, and add a Drift Monitor to trigger retraining when input drift is detected. See MLOps.