Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/commands/test.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Run a test from the testing framework to validate documentation quality.

| Category | Tests | Description |
|----------|-------|-------------|
| `smoke` | 12 | Fast tests, no GPU deploys |
| `smoke` | 13 | Fast tests, no GPU deploys |
| `flash` | 13 | Flash SDK tests |
| `serverless` | 20 | Serverless endpoint tests |
| `vllm` | 6 | vLLM deployment tests |
Expand All @@ -32,7 +32,7 @@ Run a test from the testing framework to validate documentation quality.
| `templates` | 6 | Template tests |
| `clusters` | 4 | Instant Cluster tests |
| `sdk` | 8 | SDK and API tests |
| `cli` | 6 | runpodctl tests |
| `cli` | 16 | runpodctl tests |
| `integrations` | 4 | Third-party integrations |
| `public` | 3 | Public endpoint tests |
| `tutorials` | 9 | End-to-end tutorials |
Expand Down
64 changes: 53 additions & 11 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -411,19 +411,21 @@
"group": "Runpod CLI",
"pages": [
"runpodctl/overview",
"runpodctl/reference/runpodctl-doctor",
"runpodctl/reference/runpodctl-pod",
"runpodctl/reference/runpodctl-serverless",
"runpodctl/reference/runpodctl-template",
"runpodctl/reference/runpodctl-hub",
"runpodctl/reference/runpodctl-network-volume",
"runpodctl/reference/runpodctl-registry",
"runpodctl/reference/runpodctl-gpu",
"runpodctl/reference/runpodctl-datacenter",
"runpodctl/reference/runpodctl-billing",
"runpodctl/reference/runpodctl-user",
"runpodctl/reference/runpodctl-ssh",
"runpodctl/reference/runpodctl-config",
"runpodctl/reference/runpodctl-create-pod",
"runpodctl/reference/runpodctl-create-pods",
"runpodctl/reference/runpodctl-get-cloud",
"runpodctl/reference/runpodctl-get-pod",
"runpodctl/reference/runpodctl-receive",
"runpodctl/reference/runpodctl-remove-pod",
"runpodctl/reference/runpodctl-remove-pods",
"runpodctl/reference/runpodctl-send",
"runpodctl/reference/runpodctl-ssh-add-key",
"runpodctl/reference/runpodctl-ssh-list-keys",
"runpodctl/reference/runpodctl-start-pod",
"runpodctl/reference/runpodctl-stop-pod",
"runpodctl/reference/runpodctl-receive",
"runpodctl/reference/runpodctl-update",
"runpodctl/reference/runpodctl-version"
]
Expand Down Expand Up @@ -876,6 +878,46 @@
"source": "/runpodctl/reference/runpodctl",
"destination": "/runpodctl/overview"
},
{
"source": "/runpodctl/reference/runpodctl-create-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-create-pods",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-get-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-get-cloud",
"destination": "/runpodctl/reference/runpodctl-datacenter"
},
{
"source": "/runpodctl/reference/runpodctl-remove-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-remove-pods",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-start-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-stop-pod",
"destination": "/runpodctl/reference/runpodctl-pod"
},
{
"source": "/runpodctl/reference/runpodctl-ssh-add-key",
"destination": "/runpodctl/reference/runpodctl-ssh"
},
{
"source": "/runpodctl/reference/runpodctl-ssh-list-keys",
"destination": "/runpodctl/reference/runpodctl-ssh"
},
{
"source": "/hub/public-endpoints",
"destination": "/public-endpoints/overview"
Expand Down
49 changes: 18 additions & 31 deletions get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,23 @@ If you haven't set up payments yet, you'll be prompted to add a payment method a

<Tab title="Terminal">

First, [create an API key](/get-started/api-keys) if you haven't already. Export it as an environment variable:
First, install the [Runpod CLI](/runpodctl/overview) on your local machine and configure it with your API key:

```bash
export RUNPOD_API_KEY="your-api-key"
# Install runpodctl
bash <(wget -qO- cli.runpod.io)

# Configure your API key
runpodctl config --apiKey "your-api-key"
```

Then deploy your Pod:

```bash
curl --request POST \
--url https://rest.runpod.io/v1/pods \
--header "Authorization: Bearer $RUNPOD_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"name": "quickstart-pod",
"imageName": "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04",
"gpuTypeIds": ["NVIDIA A40"],
"gpuCount": 1
}'
runpodctl pod create \
--name "quickstart-pod" \
--gpu-id "NVIDIA A40" \
--image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04"
```

The response includes your Pod ID:
Expand Down Expand Up @@ -96,31 +94,24 @@ Once your Pod finishes initializing, connect and run some code:
<Tab title="Terminal">

<Note>
You'll need an [SSH key added to your account](/pods/configuration/use-ssh) for this to work.
You'll need an [SSH key added to your account](/pods/configuration/use-ssh) for this to work. You can run `runpodctl doctor` to set this up automatically.
</Note>

Get your Pod's SSH connection details:
Get the SSH command for your Pod:

```bash
curl --request GET \
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
--header "Authorization: Bearer $RUNPOD_API_KEY"
runpodctl ssh info $RUNPOD_POD_ID
```

The response includes `publicIp` and `portMappings`:
The output includes the SSH command to connect:

```json
{
"id": "uv9wy55tyv30lo",
"publicIp": "194.68.245.207",
"portMappings": {
"22": 22100
},
...
"sshCommand": "ssh root@194.68.245.207 -p 22100 -i ~/.ssh/id_ed25519"
}
```

Use these values to connect via SSH:
Use this command to connect and run code:

```bash
ssh root@194.68.245.207 -p 22100
Expand Down Expand Up @@ -165,17 +156,13 @@ To terminate your Pod:
Stop your Pod:

```bash
curl --request POST \
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID/stop" \
--header "Authorization: Bearer $RUNPOD_API_KEY"
runpodctl pod stop $RUNPOD_POD_ID
```

You'll still be charged a small amount for storage on stopped Pods (\$0.20 per GB per month). If you don't need to retain any data on your Pod, terminate it completely:

```bash
curl --request DELETE \
--url "https://rest.runpod.io/v1/pods/$RUNPOD_POD_ID" \
--header "Authorization: Bearer $RUNPOD_API_KEY"
runpodctl pod delete $RUNPOD_POD_ID
```

</Tab>
Expand Down
12 changes: 6 additions & 6 deletions pods/connect-to-a-pod.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ Interactive web environment for code, files, and data analysis. Available on tem
Create a Pod with JupyterLab access using the CLI:

```bash
runpodctl create pod \
runpodctl pod create \
--name my-jupyter-pod \
--gpuType "NVIDIA GeForce RTX 4090" \
--imageName "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" \
--containerDiskSize 20 \
--volumeSize 50 \
--gpu-id "NVIDIA GeForce RTX 4090" \
--image "runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04" \
--container-disk-in-gb 20 \
--volume-in-gb 50 \
--ports "8888/http" \
--env "JUPYTER_PASSWORD=your_secure_password"
--env '{"JUPYTER_PASSWORD":"your_secure_password"}'
```

After the Pod starts, access JupyterLab at `https://[POD_ID]-8888.proxy.runpod.net`.
Expand Down
34 changes: 15 additions & 19 deletions pods/manage-pods.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ runpodctl config --apiKey RUNPOD_API_KEY

| Action | Web UI | CLI |
|--------|-----|-----|
| **Deploy** | [Pods page](https://www.console.runpod.io/pods) → Deploy | `runpodctl create pods --name NAME --gpuType "GPU" --imageName "IMAGE"` |
| **Start** | Expand Pod → Play icon | `runpodctl start pod POD_ID` |
| **Stop** | Expand Pod → Stop icon | `runpodctl stop pod POD_ID` |
| **Update** | Three-dot menu → Edit Pod | |
| **Terminate** | Expand Pod → Trash icon | `runpodctl remove pod POD_ID` |
| **List** | [Pods page](https://www.console.runpod.io/pods) | `runpodctl get pod` |
| **Deploy** | [Pods page](https://www.console.runpod.io/pods) → Deploy | `runpodctl pod create --name NAME --gpu-id "GPU" --image "IMAGE"` |
| **Start** | Expand Pod → Play icon | `runpodctl pod start POD_ID` |
| **Stop** | Expand Pod → Stop icon | `runpodctl pod stop POD_ID` |
| **Update** | Three-dot menu → Edit Pod | `runpodctl pod update POD_ID` |
| **Terminate** | Expand Pod → Trash icon | `runpodctl pod delete POD_ID` |
| **List** | [Pods page](https://www.console.runpod.io/pods) | `runpodctl pod list` |

## Deploy a Pod

Expand Down Expand Up @@ -48,12 +48,12 @@ Deploy preconfigured Pods from the [Runpod Hub](/hub/overview#deploy-as-a-pod) f
<Tab title="CLI">

```sh
runpodctl create pods \
runpodctl pod create \
--name hello-world \
--gpuType "NVIDIA A40" \
--imageName "runpod/pytorch:3.10-2.0.0-117" \
--containerDiskSize 10 \
--volumeSize 100
--gpu-id "NVIDIA A40" \
--image "runpod/pytorch:3.10-2.0.0-117" \
--container-disk-in-gb 10 \
--volume-in-gb 100
```

</Tab>
Expand Down Expand Up @@ -118,12 +118,12 @@ Pods with [network volumes](/storage/network-volumes) attached cannot be stopped
<Tab title="CLI">

```sh
runpodctl stop pod $RUNPOD_POD_ID
runpodctl pod stop $RUNPOD_POD_ID
```

**Schedule a stop** (e.g., after 2 hours):
```sh
sleep 2h; runpodctl stop pod $RUNPOD_POD_ID &
sleep 2h; runpodctl pod stop $RUNPOD_POD_ID &
```

</Tab>
Expand Down Expand Up @@ -154,7 +154,7 @@ Resume a stopped Pod. Note: You may be allocated [zero GPUs](/references/trouble
<Tab title="CLI">

```sh
runpodctl start pod $RUNPOD_POD_ID
runpodctl pod start $RUNPOD_POD_ID
```

</Tab>
Expand Down Expand Up @@ -224,11 +224,7 @@ Terminating permanently deletes all data not stored in a [network volume](/stora
<Tab title="CLI">

```sh
# Single Pod
runpodctl remove pod $RUNPOD_POD_ID

# Bulk remove by name
runpodctl remove pods my-bulk-task --podCount 40
runpodctl pod delete $RUNPOD_POD_ID
```

</Tab>
Expand Down
Empty file removed runpodctl/manage-pods.mdx
Empty file.
Loading
Loading