> ## 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"
```
