Skip to main content

List Pods

instapods pods list
Displays a table with name, preset, plan, CPU, memory, disk, status, and domain.

Create a Pod

instapods pods create my-app -p nodejs
The pod name can also be passed as a flag:
instapods pods create --name my-app -p nodejs
By default, the CLI returns immediately after the API accepts the request. Use -w to wait until the pod is fully running before returning.

Create Flags

FlagDescriptionDefault
-p, --presetPreset: static, php, nodejs, pythonAuto-detected
-v, --versionRuntime version (e.g. 8.4, 22, 3.11)Preset default
--planPlan: launch, build, grow, scale, turbolaunch
-r, --regionRegion slug (e.g. eu-nbg)Auto-select (closest)
--ssh-keySSH public key or path to key fileNone
-w, --waitWait until pod is running before returningfalse
--timeoutMax seconds to wait for pod creation120
The --preset flag is optional. If omitted, the CLI auto-detects the preset from your current directory by looking for signature files like package.json (Node.js), composer.json (PHP), requirements.txt (Python), or index.html (Static).

Examples

# Node.js with Build plan
instapods pods create api -p nodejs --plan build

# Python with SSH key
instapods pods create ml-service -p python --ssh-key ~/.ssh/id_ed25519.pub

# Static site in a specific region
instapods pods create my-site -p static -r eu-nbg

# Wait until pod is fully running
instapods pods create my-site -p static -w

# Specific runtime version
instapods pods create my-app -p php --version 8.4

# Custom timeout (5 minutes)
instapods pods create big-app -p nodejs --timeout 300

Get Pod Details

instapods pods get my-app
Shows all pod information including status, IP, domain, resources, server, and creation time.

Start / Stop / Restart

instapods pods start my-app
instapods pods stop my-app
instapods pods restart my-app

Lifecycle Flags

FlagDescriptionDefault
-w, --waitWait until the operation completesfalse
--timeoutMax seconds to wait60
# Start and wait until running
instapods pods start my-app -w

# Stop with a custom timeout
instapods pods stop my-app -w --timeout 30

# Restart and wait
instapods pods restart my-app -w

Resize

Change a pod’s plan (and its associated resources):
instapods pods resize my-app --plan build
The --plan flag is required. Resources (CPU, memory, disk) are automatically set based on the target plan.
FlagDescription
--planTarget plan: launch, build, grow, scale, turbo (required)
Downgrades check disk usage — if the pod’s current disk usage exceeds the new plan’s storage limit, the resize will fail.

Reload Application

Restart the application services inside the pod:
instapods pods reload my-app
What gets restarted depends on the preset:
  • Static: nginx
  • PHP: nginx + PHP-FPM
  • Node.js: app systemd service
  • Python: app systemd service
Reload also auto-detects and installs dependencies. If a package.json (Node.js) or requirements.txt (Python) is present, npm install or pip install runs automatically before restarting the service.

Delete

# With confirmation prompt
instapods pods delete my-app

# Skip confirmation
instapods pods delete my-app -f

# Wait until deletion completes
instapods pods delete my-app -f -w
FlagDescriptionDefault
-f, --forceSkip confirmation promptfalse
-w, --waitWait until deletion completesfalse
Deletion is permanent. All files, databases, and configurations are destroyed. Deleted pod names are reserved for 7 days to prevent SSH host key conflicts.

JSON Output

Add --json to any command for machine-readable JSON output:
instapods pods list --json
instapods pods get my-app --json