Skip to content

DevPod - Open-Source Dev Environments as Code Cheatsheet

DevPod - Open-Source Dev Environments as Code Cheatsheet

DevPod (by Loft) is a client-only, open-source tool that creates reproducible developer environments from a standard devcontainer.json on any backend — your local Docker, a remote SSH machine, a Kubernetes cluster, or a cloud VM. Think “self-hosted, unopinionated GitHub Codespaces”: it works with any IDE (VS Code, JetBrains, or a browser), you control where the environment runs via pluggable providers, and there is no server component to operate.

Installation

MethodHow
CLIDownload from GitHub Releases (Linux/macOS/Windows)
Desktop appDevPod Desktop GUI available
RequirementA provider backend (Docker, SSH host, K8s, cloud)
Verifydevpod version

Providers (Where Environments Run)

CommandDescription
devpod provider add dockerUse local Docker
devpod provider add ssh --option HOST=user@hostUse a remote machine
devpod provider add kubernetesRun in a K8s cluster
devpod provider add aws (gcloud, azure)Cloud VM providers
devpod provider listList configured providers
devpod provider use dockerSet the default provider

Creating Workspaces

CommandDescription
devpod up .Start an env from the current repo’s devcontainer
devpod up github.com/org/repoFrom a Git repo URL
devpod up . --ide vscodeOpen in a specific IDE
devpod up . --provider kubernetesChoose a backend
devpod up . --recreateRebuild the workspace

Managing Workspaces

CommandDescription
devpod listList workspaces
devpod stop <name>Stop a workspace
devpod delete <name>Delete a workspace
devpod ssh <name>SSH into a workspace
devpod status <name>Show workspace status

devcontainer.json (the Spec)

DevPod consumes the open Dev Container spec, so the same file works in Codespaces, VS Code, and DevPod.

{
  "name": "my-project",
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "features": {
    "ghcr.io/devcontainers/features/node:1": { "version": "20" }
  },
  "postCreateCommand": "npm install",
  "customizations": {
    "vscode": { "extensions": ["dbaeumer.vscode-eslint"] }
  }
}
FieldPurpose
image / dockerfileBase environment
featuresComposable add-ons (languages, tools)
postCreateCommandSetup run after creation
forwardPortsPorts to expose
customizationsIDE-specific settings/extensions

IDE Integration

IDEHow
VS Code--ide vscode (desktop or browser)
JetBrains--ide goland/pycharm/...
Browser (openvscode)--ide openvscode
SSH/terminaldevpod ssh <name>

Common Workflows

# Local Docker dev env from a repo's devcontainer
devpod provider add docker
devpod up github.com/org/project --ide vscode

# Offload heavy builds to a beefy remote machine
devpod provider add ssh --option HOST=me@build-server
devpod up . --provider ssh

# Ephemeral cloud env in Kubernetes, deleted when done
devpod up . --provider kubernetes
devpod delete my-project

DevPod vs Alternatives

AspectDevPodGitHub CodespacesDevboxGitpod
HostingAny backend (your choice)GitHub cloudLocal (Nix)Cloud/self-host
Specdevcontainer.jsondevcontainer.jsondevbox.jsonGitpod config
ServerNone (client-only)ManagedNoneServer
Best forPortable, any-cloud devZero-config GitHubReproducible localGit-triggered workspaces

DevPod uses the same devcontainer spec as Codespaces; for local Nix-based envs see Devbox.

Resources