Coder is an open source platform for creating and managing developer workspaces on your preferred clouds and servers.
By building on top of common development interfaces (SSH) and infrastructure tools (Terraform), Coder aims to make the process of provisioning and accessing remote workspaces approachable for organizations of various sizes and stages of cloud-native maturity.
⚠️ Coder v2 is in alpha state and is not ready for production use. For production environments, please consider Coder v1 or code-server.
Migrating from local developer machines to workspaces hosted by cloud services is an increasingly common solution for developers1 and organizations2 alike. There are several benefits, including:
-
Increased speed: Server-grade compute speeds up operations in software development, such as IDE loading, code compilation and building, and the running of large workloads (such as those for monolith or microservice applications)
-
Easier environment management: Tools such as Terraform, nix, Docker, devcontainers, and so on make developer onboarding and the troubleshooting of development environments easier
-
Increase security: Centralize source code and other data onto private servers or cloud services instead of local developer machines
-
Improved compatibility: Remote workspaces share infrastructure configuration with other development, staging, and production environments, reducing configuration drift
-
Improved accessibility: Devices such as lightweight notebooks, Chromebooks, and iPads can connect to remote workspaces via browser-based IDEs or remote IDE extensions
The key difference between Coder v2 and other remote IDE platforms is the added layer of infrastructure control. This additional layer allows admins to:
- Support ARM, Windows, Linux, and macOS workspaces
- Modify pod/container specs (e.g., adding disks, managing network policies, setting/updating environment variables)
- Use VM/dedicated workspaces, developing with Kernel features (no container knowledge required)
- Enable persistent workspaces, which are like local machines, but faster and hosted by a cloud service
Coder includes production-ready templates for use with AWS EC2, Azure, Google Cloud, Kubernetes, and more.
-
Coder is not an infrastructure as code (IaC) platform. Terraform is the first IaC provisioner in Coder, allowing Coder admins to define Terraform resources as Coder workspaces.
-
Coder is not a DevOps/CI platform. Coder workspaces can follow best practices for cloud service-based workloads, but Coder is not responsible for how you define or deploy the software you write.
-
Coder is not an online IDE. Instead, Coder supports common editors, such as VS Code, vim, and JetBrains, over HTTPS or SSH.
-
Coder is not a collaboration platform. You can use git and dedicated IDE extensions for pull requests, code reviews, and pair programming.
-
Coder is not a SaaS/fully-managed offering. You must host Coder on a cloud service (AWS, Azure, GCP) or your private data center.
Please file an issue if any information is out of date. Also refer to: What Coder is not.
Tool | Type | Self-hosted version | Hosted version | Availability | Supported platforms |
---|---|---|---|---|---|
Coder | Platform: multiple workspaces and teams | ✅ | Open source (paid version soon) | All Terraform resources, all clouds, multi-architecture: Linux, Mac, Windows, containers, VMs, amd64, arm64 | |
Coder (Classic) | Platform: multiple workspaces and teams | ✅ | Proprietary/paid license | Any Kubernetes cluster: Linux Containers | |
GitHub Codespaces | Platform: solo or team | Only GitHub Enterprise Cloud | ✅ | Open source/paid | Linux containers |
code-server | Web IDE: solo developer | ✅ | Open source | Linux, Mac, Windows, containers, VMs, amd64, arm64 |
Next: Templates
Footnotes
-
alexellis.io: The Internet is my computer ↩
-
slack.engineering: Development environments at Slack ↩