LinuxCommandLibrary

devpod

Create remote development environments

TLDR

Add a provider such as Docker or Kubernetes

$ devpod provider add [provider_name]
copy

List all available providers
$ devpod provider list-available
copy

Start a workspace from a GitHub repository with a specific IDE
$ devpod up [github.com/user/repo] [[-i|--ide]] [vscode]
copy

Start a workspace from a local directory
$ devpod up [path/to/project]
copy

Recreate an existing workspace
$ devpod up [workspace_name] [[-r|--recreate]]
copy

Reset a workspace to a clean state
$ devpod up [workspace_name] [[-x|--reset]]
copy

Add a custom provider from a GitHub repository
$ devpod provider add [org/provider-repo]
copy

SYNOPSIS

devpod [--debug] [--profile PROFILE] [--version|-v] [--help|-h] <command> [<args>]

PARAMETERS

--debug
    Enable verbose debug logging

--profile PROFILE
    Specify workspace profile (default: "default")

-h, --help
    Show help for command

-v, --version
    Print DevPod version and exit

DESCRIPTION

DevPod is an open-source CLI tool from Loft Labs for creating, managing, and sharing fully reproducible developer environments across any infrastructure.

It abstracts workspace providers like Docker, Kubernetes (via kind, k3s), cloud VMs (AWS EC2, GCP, Azure), or local machines, solving the 'works on my machine' issue.

Key benefits:
- Reproducible: Define environments in simple YAML with Dockerfiles, init scripts, ports, IDE configs.
- Portable: Same config works locally or in the cloud.
- Fast iteration: Hot reload code, supports VS Code, JetBrains Gateway.
- Team-friendly: Share via Git, no vendor lock-in.

Workflow: devpod create my-ws scaffolds a workspace; devpod up starts it; code via IDE/SSH; devpod down cleans up.

Ideal for polyglot teams, onboarding, or CI/CD dev stages. Supports custom providers and plugins for extensibility.

CAVEATS

Requires a workspace provider (e.g., Docker Desktop, kubectl); initial setup may need config for cloud creds. Not for production workloads.

SUBCOMMANDS

up/down/stop: Start/stop workspace.
create/delete/ls: Manage workspaces.
ssh/logs/status: Access and monitor.
doctor: Diagnose setup.

CONFIG

Uses devpod.yaml or .devpod.yaml with image, init, ports, env vars. Profiles in ~/.devpod/profiles.

HISTORY

Open-sourced by Loft Labs in 2022; evolved from vcluster project. Active development with v0.4+ adding cloud providers, IDE integrations. Widely adopted for GitOps dev flows.

SEE ALSO

docker(1), kubectl(1), ssh(1), kind(1)

Copied to clipboard