Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
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
64 changes: 53 additions & 11 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -410,19 +410,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-network-volume",
"runpodctl/reference/runpodctl-model",
"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 @@ -875,6 +877,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
100 changes: 75 additions & 25 deletions runpodctl/overview.mdx
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Line 210)

Citation: Fixed shell completion documentation based on review feedback from Tim Pietrusky. runpodctl completion takes no arguments—it auto-detects the shell via $SHELL env var and appends the appropriate source command. This was also corrected in the SKILL file in PR #11.
View source

Original file line number Diff line number Diff line change
@@ -1,18 +1,28 @@
---
title: "Overview"
sidebarTitle: "Overview"
description: "Use Runpod CLI to manage Pods from your local machine."
description: "Use Runpod CLI to manage Pods, Serverless endpoints, templates, and more from your local machine."
---

import { PodsTooltip, PodTooltip } from "/snippets/tooltips.jsx";

Runpod CLI is an [open source](https://github.com/runpod/runpodctl) command-line interface tool for managing your Runpod resources remotely from your local machine. You can transfer files and data between your local system and Runpod, execute code on remote <PodsTooltip />, and automate Pod deployment workflows.
Runpod CLI is an [open source](https://github.com/runpod/runpodctl) command-line tool for managing your Runpod resources from your local machine. You can manage Pods, Serverless endpoints, templates, network volumes, and models, transfer files between your system and Runpod, diagnose issues, and view account information.

## Install Runpod CLI locally
## Quick start

After installing and configuring `runpodctl`, you can start managing resources immediately:

Every <PodTooltip /> you deploy comes preinstalled with the `runpodctl` command and a Pod-scoped API key. You can also install it on your local machine to manage your Pods remotely from your own system.
```bash
runpodctl doctor # First time setup (API key + SSH)
runpodctl gpu list # See available GPUs
runpodctl template search pytorch # Find a template
runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA RTX 4090"
runpodctl pod list # List your Pods
```

## Install Runpod CLI locally

To install Runpod CLI locally, follow these steps:
Every <PodTooltip /> you deploy comes preinstalled with `runpodctl` and a Pod-scoped API key. You can also install it on your local machine to manage resources remotely.

### Step 1: Choose an installation method

Expand All @@ -22,39 +32,39 @@ Choose the installation method that matches your operating system.
<Tab title="macOS">

**Homebrew:**
```sh
```bash
brew install runpod/runpodctl/runpodctl
```

**ARM (Apple Silicon):**
```sh
wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/download/v1.14.3/runpodctl-darwin-arm64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
```bash
wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-darwin-arm64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
```

**AMD (Intel):**
```sh
wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/download/v1.14.3/runpodctl-darwin-amd64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
```bash
wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-darwin-amd64 -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl
```

</Tab>

<Tab title="Linux">
```sh
wget --quiet --show-progress https://github.com/Run-Pod/runpodctl/releases/download/v1.14.3/runpodctl-linux-amd64 -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl
```bash
wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-amd64 -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl
```

</Tab>

<Tab title="Windows">
```sh
wget https://github.com/runpod/runpodctl/releases/download/v1.14.3/runpodctl-windows-amd64.exe -O runpodctl.exe
```bash
wget https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-windows-amd64.exe -O runpodctl.exe
```

</Tab>

<Tab title="Google Colab / Jupyter Notebook">
```sh
!wget --quiet --show-progress https://github.com/Run-Pod/runpodctl/releases/download/v1.14.3/runpodctl-linux-amd -O runpodctl
```bash
!wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/latest/download/runpodctl-linux-amd64 -O runpodctl
!chmod +x runpodctl
!cp runpodctl /usr/bin/runpodctl
```
Expand All @@ -69,9 +79,17 @@ This installs `runpodctl` globally on your system, so you can run commands from

Before you can use `runpodctl` locally, you must configure it with an [API key](/get-started/api-keys).

Run the following command to add your API key to `runpodctl`, replacing `YOUR_API_KEY` with your API key:
The easiest way to set up your API key and SSH configuration is with the `doctor` command:

```sh
```bash
runpodctl doctor
```

This command guides you through first-time setup, including API key configuration and SSH key setup.

Alternatively, you can manually configure your API key:

```bash
runpodctl config --apiKey YOUR_API_KEY
```

Expand All @@ -84,25 +102,57 @@ saved apiKey into config file: /Users/runpod/.runpod/config.toml

To verify that `runpodctl` installed successfully, run this command:

```sh
```bash
runpodctl version
```

You should see which version is installed:

```sh
runpodctl v1.14.4
```bash
runpodctl v2.0
```

## Command groups

Runpod CLI organizes commands into groups based on the resource type:

| Command | Alias | Description |
|---------|-------|-------------|
| `runpodctl pod` | | Manage Pods (create, list, start, stop, delete) |
| `runpodctl serverless` | `sls` | Manage Serverless endpoints |
| `runpodctl template` | `tpl` | List, search, and manage templates |
| `runpodctl network-volume` | `nv` | Manage network volumes |
| `runpodctl model` | | List and manage models |
| `runpodctl registry` | `reg` | Manage container registry authentications |
| `runpodctl gpu` | | List available GPUs |
| `runpodctl datacenter` | `dc` | List datacenters |
| `runpodctl billing` | | View billing history |
| `runpodctl user` | `me` | View account information |
| `runpodctl ssh` | | Manage SSH keys and get connection info |

## Help and reference

Learn how to use Runpod CLI commands by browsing the CLI reference using the sidebar to the left, or by running the `help` command:

```sh
```bash
runpodctl help
```

Learn more about a particular command by running:
```sh
runpodctl [command] help
```
```bash
runpodctl [command] --help
```

## Shell completion

Enable tab completion for your shell to make working with `runpodctl` easier:

```bash
# Bash
runpodctl completion bash >> ~/.bashrc

# Zsh
runpodctl completion zsh >> ~/.zshrc
```

Restart your shell or source the configuration file for changes to take effect.
42 changes: 42 additions & 0 deletions runpodctl/reference/runpodctl-billing.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: "billing"
sidebarTitle: "billing"
---

View billing history for Pods, Serverless endpoints, and network volumes.

<RequestExample>
```bash Command
runpodctl billing <subcommand>
```
</RequestExample>

## Subcommands

### View Pod billing

View billing history for Pods:

```bash
runpodctl billing pods
```

### View Serverless billing

View billing history for Serverless endpoints:

```bash
runpodctl billing serverless
```

### View network volume billing

View billing history for network volumes:

```bash
runpodctl billing network-volume
```

## Related commands

- [`runpodctl user`](/runpodctl/reference/runpodctl-user)
101 changes: 0 additions & 101 deletions runpodctl/reference/runpodctl-create-pod.mdx
Original file line number Diff line number Diff line change
@@ -1,101 +0,0 @@
---
title: "create pod"
sidebarTitle: "create pod"
---

Create and start a new Pod on Runpod with configuration options for GPU type, storage, networking, and cloud tier.

<RequestExample>
```sh Command
runpodctl create pod [flags]
```
</RequestExample>

## Example

Create a Pod with 2 RTX 4090 GPUs in the Secure Cloud with a custom container image:

```sh
runpodctl create pod \
--name "my-training-pod" \
--gpuType "NVIDIA GeForce RTX 3090" \
--gpuCount 2 \
--secureCloud \
--imageName "runpod/pytorch:2.0.1-py3.10-cuda11.8.0-devel" \
--containerDiskSize 50 \
--volumeSize 100
```

## Flags

<ResponseField name="--name" type="string">
A custom name for your Pod to make it easy to identify and reference.
</ResponseField>

<ResponseField name="--gpuType" type="string">
The GPU type to use for the Pod (e.g., `NVIDIA GeForce RTX 4090`, `NVIDIA B200`, `NVIDIA L40S`). Use the GPU ID (long form) from the [GPU types reference](/references/gpu-types) table to specify the GPU type.
</ResponseField>

<ResponseField name="--gpuCount" type="integer" default={1}>
The number of GPUs to allocate to the Pod.
</ResponseField>

<ResponseField name="--secureCloud">
Create the Pod in the Secure Cloud tier, which offers enterprise-grade infrastructure with enhanced reliability.
</ResponseField>

<ResponseField name="--communityCloud">
Create the Pod in the Community Cloud tier, which typically offers lower pricing with spot instance availability.
</ResponseField>

<ResponseField name="--imageName" type="string">
The Docker container image to use for the Pod (e.g., `runpod/pytorch:latest`).
</ResponseField>

<ResponseField name="--templateId" type="string">
The ID of a template to use for Pod configuration, which pre-defines the image and environment settings.
</ResponseField>

<ResponseField name="--containerDiskSize" type="integer" default={20}>
The size of the container disk in gigabytes, used for temporary storage within the container.
</ResponseField>

<ResponseField name="--volumeSize" type="integer" default={1}>
The size of the persistent volume in gigabytes, which retains data across Pod restarts.
</ResponseField>

<ResponseField name="--volumePath" type="string" default="/workspace">
The mount path for the persistent volume inside the container.
</ResponseField>

<ResponseField name="--networkVolumeId" type="string">
The ID of an existing [network volume](/storage/network-volumes) to attach to the Pod for shared storage across multiple Pods.
</ResponseField>

<ResponseField name="--cost" type="float">
The maximum price ceiling in dollars per hour. If not specified, the Pod will be created at the lowest available price.
</ResponseField>

<ResponseField name="--mem" type="integer" default={20}>
The minimum system memory required in gigabytes.
</ResponseField>

<ResponseField name="--vcpu" type="integer" default={1}>
The minimum number of vCPUs required for the Pod.
</ResponseField>

<ResponseField name="--env" type="string">
Environment variables to set in the container. Specify multiple times for multiple variables (e.g., `--env KEY1=VALUE1 --env KEY2=VALUE2`).
</ResponseField>

<ResponseField name="--args" type="string">
Additional arguments to pass to the container when it starts.
</ResponseField>

<ResponseField name="--ports" type="string">
Ports to expose from the container. Maximum of 1 HTTP port and 1 TCP port allowed (e.g., `--ports 8888/http --ports 22/tcp`).
</ResponseField>

## Related commands

- [`runpodctl create pods`](/runpodctl/reference/runpodctl-create-pods)
Loading
Loading