/runpodctl

🧰 | RunPod CLI for pod management

Primary LanguageGoGNU General Public License v3.0GPL-3.0

runpodctl

runpodctl is a CLI tool to automate / manage GPU pods for runpod.io.

Please note that there is a breaking change in 1.8.0 that is incompatible with previous versions. You can check your version by typing

runpodctl version

All pods automatically come with runpodctl installed with a pod-scoped API key!

Tutorial

A very detailed tutorial that shows how to utilize runpodctl in multiple situations: https://www.youtube.com/watch?v=QN1vdGhjcRc

runpodctl chapters:

How to install runpodctl latest version to transfer files between Pods and PC

How to upload thousands of images (big data) from your computer to RunPod via runpodctl

How to send files from your PC to RunPod via runpodctl

How to download a folder from RunPod to your PC via runpodctl

How to add runpodctl to environment path to use from every folder

How to download your trained model files (ckpt) into your PC via runpodctl

install linux/osx command line

get the latest binary from releases

linux

wget --quiet --show-progress https://github.com/Run-Pod/runpodctl/releases/download/v1.10.0/runpodctl-linux-amd -O runpodctl && chmod +x runpodctl && sudo cp runpodctl /usr/bin/runpodctl

osx (ARM)

wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/download/v1.10.0/runpodctl-darwin-arm -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl

osx (AMD) - For Intel Processors

wget --quiet --show-progress https://github.com/runpod/runpodctl/releases/download/v1.10.0/runpodctl-darwin-amd -O runpodctl && chmod +x runpodctl && sudo mv runpodctl /usr/local/bin/runpodctl

how to transfer data

Using send or receive command does not require API keys due to built-in security of one-time codes.

Run the following on the computer that has the file you want to send

runpodctl send data.txt

The command should output something like

Sending 'data.txt' (5 B)
Code is: 8338-galileo-collect-fidel
On the other computer run

runpodctl receive 8338-galileo-collect-fidel

Run the following on the computer that you want to send the file to

runpodctl receive 8338-galileo-collect-fidel

It should start transferring with output that looks like

Receiving 'data.txt' (5 B)

Receiving (<-149.36.0.243:8692)
data.txt 100% |████████████████████| ( 5/ 5B, 0.040 kB/s)

download with windows powershell

wget https://github.com/runpod/runpodctl/releases/download/v1.9.0/runpodctl-win-amd -O runpodctl.exe


how to transfer data

Using send or receive command does not require API keys due to built-in security of one-time codes.

Run the following on the computer that has the file you want to send

./runpodctl.exe send data.txt

The command should output something like

Sending 'data.txt' (5 B)
Code is: 8338-galileo-collect-fidel
On the other computer run

runpodctl receive 8338-galileo-collect-fidel

Run the following on the computer that you want to send the file to

runpodctl receive 8338-galileo-collect-fidel

It should start transferring with output that looks like

Receiving 'data.txt' (5 B)

Receiving (<-149.36.0.243:8692)
data.txt 100% |████████████████████| ( 5/ 5B, 0.040 kB/s)

Using google drive

You can use the following links for google colab

Send

Receive

how to manage pods

Visit docs for details of all commands.

First configure the API key. You can get API key from runpod.

runpodctl config --apiKey={key}

Get all pods:

runpodctl get pod

Get a pod:

runpodctl get pod {podId}

Start an ondemand pod.

runpodctl start pod {podId}

Start a spot pod with bid. The bid price you set is the price you will pay if not outbid:

runpodctl start pod {podId} --bid=0.3

Stop a pod:

runpodctl stop pod {podId}


thanks to