Remote development environments on your infrastructure
Go to file
Mathias Fredriksson 608eb322a8
chore: Add .editorconfig, shfmt, shellcheck and subshell dir changes (#1649)
2022-05-27 20:15:19 +03:00
.github chore: Add .editorconfig, shfmt, shellcheck and subshell dir changes (#1649) 2022-05-27 20:15:19 +03:00
.vscode fix: update workspace form fields when switching templates (#1761) 2022-05-26 08:43:07 -04:00
agent feat: inject USER into shells (#1818) 2022-05-26 18:01:47 -05:00
buildinfo fix: Prefix buildinfo tag with "v" (#1256) 2022-05-02 15:58:36 +00:00
cli fix: restore previous session on coder server --dev (#1821) 2022-05-27 17:02:02 +00:00
cmd feat: add default autostart and ttl for new workspaces (#1632) 2022-05-23 23:31:41 +01:00
coderd chore: Add .editorconfig, shfmt, shellcheck and subshell dir changes (#1649) 2022-05-27 20:15:19 +03:00
codersdk feat: Move create organizations route (#1831) 2022-05-27 11:19:13 -05:00
cryptorand feat: make default autobuild poll intervals configurable (#1618) 2022-05-20 10:57:02 +00:00
docs Move competitive comparison to README 2022-05-27 11:38:25 -05:00
examples feat: Add examples/templates/do-linux for Digital Ocean Droplets (#1749) 2022-05-27 20:04:43 +03:00
peer chore: avoid concurrent usage of t.FailNow (#1683) 2022-05-24 08:58:39 +01:00
peerbroker chore: avoid concurrent usage of t.FailNow (#1683) 2022-05-24 08:58:39 +01:00
provisioner feat: Upgrade terraform version to 1.1.9 (#1745) 2022-05-25 19:35:41 -04:00
provisionerd fix: manually fix coderd/database/dump.sql and make style/gen check run more reliably (#1607) 2022-05-19 22:37:22 +00:00
provisionersdk chore: avoid concurrent usage of t.FailNow (#1683) 2022-05-24 08:58:39 +01:00
pty bug: Don't try to handle SIGINT when prompting for passwords (#1498) 2022-05-18 15:26:38 +00:00
scripts chore: Add .editorconfig, shfmt, shellcheck and subshell dir changes (#1649) 2022-05-27 20:15:19 +03:00
site chore: Add .editorconfig, shfmt, shellcheck and subshell dir changes (#1649) 2022-05-27 20:15:19 +03:00
.editorconfig chore: Add .editorconfig, shfmt, shellcheck and subshell dir changes (#1649) 2022-05-27 20:15:19 +03:00
.gitattributes chore: Move httpapi, httpmw, & database into `coderd` (#568) 2022-03-25 16:07:45 -05:00
.gitignore Rewrite README for launch (#1731) 2022-05-25 00:40:57 +00:00
.golangci.yaml chore: avoid concurrent usage of t.FailNow (#1683) 2022-05-24 08:58:39 +01:00
.goreleaser.yaml fix: remove outdated doc paths in goreleaser (#1633) 2022-05-20 19:02:38 +00:00
Dockerfile feat: build & release cross-platform Docker images (#1178) 2022-05-12 17:59:34 +00:00
LICENSE chore: Add license (#841) 2022-04-04 11:55:06 -05:00
Makefile chore: Add .editorconfig, shfmt, shellcheck and subshell dir changes (#1649) 2022-05-27 20:15:19 +03:00
README.md Move competitive comparison to README 2022-05-27 11:38:25 -05:00
coder.env chore: Rename "start" to "server" (#1110) 2022-04-23 12:19:20 -05:00
coder.service fix: Use proper shutdown signal for systemd (#1179) 2022-04-25 21:09:11 -05:00
docker-compose.yaml chore: remove docker host from docker-compose (#1596) 2022-05-19 20:38:07 +00:00
go.mod chore: update `cdr.dev/slog` (#1759) 2022-05-25 20:22:38 +00:00
go.sum chore: update `cdr.dev/slog` (#1759) 2022-05-25 20:22:38 +00:00

README.md

Coder

"GitHubDiscussions" "Join us onDiscord" TwitterFollow codecov

Coder creates remote development machines so you can develop your code from anywhere.

Note: Coder is in an alpha state, but any serious bugs are P1 for us so please report them.

Code more

  • Build and test faster
    • Leveraging cloud CPUs, RAM, network speeds, etc.
  • Access your environment from any place on any client (even an iPad)
  • Onboard instantly then stay up to date continuously

Manage less

  • Ensure your entire team is using the same tools and resources
    • Rollout critical updates to your developers with one command
  • Automatically shut down expensive cloud resources
  • Keep your source code and data behind your firewall

How it works

Coder workspaces are represented with Terraform. But, no Terraform knowledge is required to get started. We have a database of pre-made templates built into the product.

Coder workspaces don't stop at compute. You can add storage buckets, secrets, sidecars and whatever else Terraform lets you dream up.

Learn more about managing infrastructure.

IDE Support

You can use any Web IDE (code-server, projector, Jupyter, etc.), JetBrains Gateway, VS Code Remote or even a file sync such as mutagen.

Installing Coder

We recommend installing the latest release on a system with at least 1 CPU core and 2 GB RAM:

  1. Download the release asset appropriate for your operating system
  2. Unzip the folder you just downloaded, and move the coder executable to a location that's on your PATH

Make sure you have the appropriate credentials for your cloud provider (e.g., access key ID and secret access key for AWS).

You can set up a temporary deployment, a production deployment, or a system service:

  • To set up a temporary deployment, start with dev mode (all data is in-memory and is destroyed on exit):

    coder server --dev
    
  • To run a production deployment with PostgreSQL:

    CODER_PG_CONNECTION_URL="postgres://<username>@<host>/<database>?password=<password>" \
        coder server
    
  • To run as a system service, install with .deb (Debian, Ubuntu) or .rpm (Fedora, CentOS, RHEL, SUSE):

    # Edit the configuration!
    sudo vim /etc/coder.d/coder.env
    sudo service coder restart
    

Use coder --help to get a complete list of flags and environment variables.

See the installation guide for additional ways to deploy Coder.

Creating your first template and workspace

In a new terminal window, run the following to copy a sample template:

coder templates init

Follow the CLI instructions to modify and create the template specific for your usage (e.g., a template to Develop in Linux on Google Cloud).

Create a workspace using your template:

coder create --template="yourTemplate" <workspaceName>

Connect to your workspace via SSH:

coder ssh <workspaceName>

Modifying templates

You can edit the Terraform template using a sample template:

coder templates init
cd gcp-linux/
vim main.tf
coder templates update gcp-linux

Documentation

Comparison

Please file an issue if any information is out of date. Also refer to: What Coder is not.

Tool Type Delivery Model Cost Environments
Coder Platform OSS + Self-Managed Pay your cloud All Terraform resources, all clouds, multi-architecture: Linux, Mac, Windows, containers, VMs, amd64, arm64
code-server Web IDE OSS + Self-Managed Pay your cloud Linux, Mac, Windows, containers, VMs, amd64, arm64
Coder (Classic) Platform Self-Managed Pay your cloud + license fees Kubernetes Linux Containers
GitHub Codespaces Platform SaaS 2x Azure Compute Linux containers

As of 5/27/22

Contributing

Read the contributing docs.

Find our list of contributors here.