> ## Documentation Index
> Fetch the complete documentation index at: https://hubify.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# hubify pod

> Manage GPU pods, create, list, SSH into, and stop compute instances for running experiments.

# hubify pod

Manage GPU compute pods. Pods are the machines where experiments run. Currently powered by RunPod, with Modal serverless coming soon.

## GPU Types

| GPU | VRAM | Best For | Tier |
| - | - | - | - |
| `h200` | 141 GB | Large-scale MCMC, foundation model inference, multi-survey sweeps | Premium |
| `h100` | 80 GB | Training runs, medium MCMC chains, anomaly detection | Standard |
| `a100` | 80 GB | General GPU compute, smaller training jobs | Standard |
| `a100-40` | 40 GB | Light inference, prototyping | Economy |
| `cpu` | -- | Data preprocessing, LaTeX compilation, light analysis | Economy |

## hubify pod list

List all pods in the active lab.

<CodeGroup>
  ```bash All pods theme={null}
  hubify pod list
  ```

  ```bash Only running pods theme={null}
  hubify pod list --status running
  ```

  ```bash Show cost info theme={null}
  hubify pod list --costs
  ```
</CodeGroup>

```
POD ID          GPU     STATUS    UPTIME     EXPERIMENTS   COST/HR
pod-o76k3jf     H200    running   14d 2h     12            $3.89
pod-abc1234     H100    running   2h 15m     1             $2.49
pod-def5678     H100    stopped   --         --            --
```

**Options:**

| Flag | Description | Default |
| - | - | - |
| `--status <status>` | Filter: `running`, `stopped`, `creating`, `error` | All |
| `--costs` | Show cost breakdown | `false` |
| `--json` | Output as JSON | `false` |

## hubify pod create

Create and start a new GPU pod.

<CodeGroup>
  ```bash Create an H100 pod theme={null}
  hubify pod create --gpu h100
  ```

  ```bash Named pod with custom config theme={null}
  hubify pod create \
    --gpu h200 \
    --name "mcmc-production" \
    --disk 200 \
    --image runpod/pytorch:2.1.0-py3.10-cuda12.1.0
  ```

  ```bash Create from a template theme={null}
  hubify pod create --template mcmc-h100
  ```

  ```bash Create with auto-stop theme={null}
  hubify pod create --gpu h100 --idle-timeout 30m
  ```
</CodeGroup>

**Options:**

| Flag | Description | Default |
| - | - | - |
| `--gpu <type>` | GPU type (see table above) | Required |
| `--name <name>` | Pod display name | Auto-generated |
| `--disk <gb>` | Persistent disk size in GB | `50` |
| `--image <image>` | Docker image | `runpod/pytorch:2.1.0-py3.10-cuda12.1.0` |
| `--template <name>` | Use a saved pod template | None |
| `--idle-timeout <duration>` | Auto-stop after idle period (e.g., `30m`, `2h`) | No auto-stop |
| `--spot` | Use spot/interruptible pricing | `false` |

<Warning>
  GPU pods bill by the hour while running. Use `hubify pod stop` when not in use, or set `--idle-timeout` to auto-stop idle pods. An idle H200 at $3.89/hr costs $93/day.
</Warning>

## hubify pod ssh

Open an SSH session into a running pod.

<CodeGroup>
  ```bash SSH into a pod theme={null}
  hubify pod ssh pod-o76k3jf
  ```

  ```bash SSH with port forwarding theme={null}
  hubify pod ssh pod-o76k3jf --forward 8888:8888
  ```

  ```bash Run a single command theme={null}
  hubify pod ssh pod-o76k3jf --command "nvidia-smi"
  ```
</CodeGroup>

**Options:**

| Flag | Description | Default |
| - | - | - |
| `--forward <local:remote>` | Port forwarding (repeatable) | None |
| `--command <cmd>` | Run a single command and exit | None |
| `--key <path>` | SSH key path | `~/.ssh/id_ed25519` |

The SSH connection uses the pod's assigned IP and port. These are stored in your lab config so you don't need to remember them.

```
Connecting to pod-o76k3jf (root@205.196.19.52:11452)...
root@pod-o76k3jf:~#
```

## hubify pod stop

Stop a running pod. Persistent disk is preserved.

<CodeGroup>
  ```bash Stop a pod theme={null}
  hubify pod stop pod-abc1234
  ```

  ```bash Stop all pods theme={null}
  hubify pod stop --all
  ```

  ```bash Terminate (destroy pod and disk) theme={null}
  hubify pod stop pod-def5678 --terminate
  ```
</CodeGroup>

**Options:**

| Flag | Description | Default |
| - | - | - |
| `--all` | Stop all running pods | `false` |
| `--confirm` | Skip confirmation prompt | `false` |
| `--terminate` | Permanently destroy the pod and disk | `false` |

<Note>
  `stop` preserves the pod's persistent disk so you can restart later. Use `--terminate` to permanently destroy the pod and its storage. Terminated pods cannot be recovered.
</Note>

## hubify pod restart

Restart a stopped pod.

```bash theme={null}
hubify pod restart pod-abc1234
```

## hubify pod templates

Manage reusable pod configurations.

<CodeGroup>
  ```bash List templates theme={null}
  hubify pod templates
  ```

  ```bash Save current pod as template theme={null}
  hubify pod templates save pod-o76k3jf --name "mcmc-h200"
  ```

  ```bash Create pod from template theme={null}
  hubify pod create --template mcmc-h200
  ```
</CodeGroup>

## Typical Workflow

```bash theme={null}
# 1. Spin up a pod for an experiment
hubify pod create --gpu h100 --name "fisher-forecast" --idle-timeout 1h

# 2. Check it's running
hubify pod list --status running

# 3. SSH in for manual inspection
hubify pod ssh pod-abc1234

# 4. When done, stop to save costs
hubify pod stop pod-abc1234

# 5. For long-running work, save a template
hubify pod templates save pod-abc1234 --name "standard-h100"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.