Remote development environments on your infrastructure
Go to file
Mathias Fredriksson f7467cac50
fix: Improve ptytest closure on expect match timeout (#5337)
To ensure ptytest closure always happens the same way, we now define a
new `Close` function on `PTY` and always call the close function instead
of manually closing read/writers.

A few additional log messages have been added as well, to better
understand the shutdown process in case of errors.
2022-12-07 15:20:06 +00:00
.devcontainer bug: fixed prompt in .devcontainer/Dockerfile (#4820) 2022-11-07 09:03:55 -03:00
.github chore: collect gotestsum TestEvents as workflow artifacts (#5336) 2022-12-07 15:04:39 +01:00
.vscode fix: Close tty first in `ptytest` cleanup (#5252) 2022-12-02 12:32:50 +00:00
agent fix: agent panics on closed network (#5295) 2022-12-05 23:18:23 +01:00
buildinfo feat: Add support for update checks and notifications (#4810) 2022-12-01 19:43:28 +02:00
cli fix: avoid terraform state concurrent access, remove global mutex (#5273) 2022-12-06 17:05:14 +00:00
cmd fix: Don't use StatusAbnormalClosure (#4155) 2022-09-22 18:26:05 +00:00
coderd fix: wait for creating template versions (#5335) 2022-12-07 14:19:18 +01:00
codersdk Add Service Banners (#5272) 2022-12-06 18:38:38 +00:00
cryptorand chore: Upgrade to Go 1.19 (#3617) 2022-08-21 22:32:53 +00:00
docs Add Service Banners (#5272) 2022-12-06 18:38:38 +00:00
dogfood feat: add lazygit, remove kubic, use dotfiles in dogfood image (#5271) 2022-12-06 20:11:44 +10:00
enterprise Add Service Banners (#5272) 2022-12-06 18:38:38 +00:00
examples docs: Add GitHub action to push template changes automatically (#5166) 2022-11-26 13:36:14 +00:00
helm feat: Define Prometheus port in the pod spec (#5213) 2022-12-01 15:43:32 +00:00
loadtest skip: reconnectingpty tests (#5322) 2022-12-06 16:36:54 +01:00
provisioner fix: avoid terraform state concurrent access, remove global mutex (#5273) 2022-12-06 17:05:14 +00:00
provisionerd fix: avoid terraform state concurrent access, remove global mutex (#5273) 2022-12-06 17:05:14 +00:00
provisionersdk feat: Add support for MOTD file in coder agents (#5147) 2022-11-24 12:22:20 +00:00
pty fix: Improve ptytest closure on expect match timeout (#5337) 2022-12-07 15:20:06 +00:00
scripts fix: do not truncate system PATH in win installer (#5243) 2022-12-02 09:56:49 +10:00
site fixed bug; wrote tests (#5329) 2022-12-06 16:58:32 -05:00
tailnet chore: refactor agent stats streaming (#5112) 2022-11-18 16:46:53 -06:00
testutil fix: loadtest/reconnectingpty tweak timeout (#5300) 2022-12-06 14:40:38 +01:00
.editorconfig fix: Improve code coverage reporting in codecov (#2715) 2022-07-25 19:55:19 +03:00
.gitattributes fix: Improve Terraform agent<->resource association testing (#2187) 2022-06-08 17:40:34 -05:00
.gitignore chore: collect gotestsum TestEvents as workflow artifacts (#5336) 2022-12-07 15:04:39 +01:00
.golangci.yaml feat: Add the option to generate a trial license during setup (#5110) 2022-11-16 17:09:49 -06:00
ADOPTERS.md fix: prettier misses docs directory (#5285) 2022-12-05 12:21:09 +01:00
Dockerfile fix: Remove license on Coder Docker image (#4683) 2022-10-21 12:31:10 -05:00
LICENSE chore: Add license (#841) 2022-04-04 11:55:06 -05:00
LICENSE.enterprise Add Enterprise License text (#3932) 2022-09-07 16:55:57 +00:00
Makefile chore: collect gotestsum TestEvents as workflow artifacts (#5336) 2022-12-07 15:04:39 +01:00
README.md fix: prettier misses docs directory (#5285) 2022-12-05 12:21:09 +01:00
coder.env feat: Add tunnel by default (#4399) 2022-10-07 08:05:56 -05:00
coder.service Fix kill mode stopping the built-in PostgreSQL 2022-10-17 23:50:29 +00:00
docker-compose.yaml feat: Add tunnel by default (#4399) 2022-10-07 08:05:56 -05:00
flake.lock chore: Add nix shell for simple development setup (#3399) 2022-08-08 15:49:12 +00:00
flake.nix chore: Refactor Enterprise code to layer on top of AGPL (#4034) 2022-09-19 23:11:01 -05:00
go.mod chore: bump github.com/gohugoio/hugo from 0.105.0 to 0.107.0 (#5222) 2022-12-01 18:11:58 +00:00
go.sum chore: bump github.com/gohugoio/hugo from 0.105.0 to 0.107.0 (#5222) 2022-12-01 18:11:58 +00:00
install.sh fix: Update install script text to separate run and use (#5203) 2022-11-30 13:38:25 -08:00
preinstall.sh fix: Refactor preinstall script to use useradd if adduser is not available (#2858) 2022-07-08 16:09:19 -05:00
shell.nix chore: Add nix shell for simple development setup (#3399) 2022-08-08 15:49:12 +00:00

README.md

Coder

"Join us onDiscord" codecov Go Reference TwitterFollow

Software development on your infrastructure. Offload your team's development from local workstations to cloud servers. Onboard developers in minutes. Build, test and compile at the speed of the cloud. Keep your source code and data behind your firewall.

"By leveraging Terraform, Coder lets developers run any IDE on any compute platform including on-prem, AWS, Azure, GCP, DigitalOcean, Kubernetes, Docker, and more, with workspaces running on Linux, Windows, or Mac." - Kevin Fishner Chief of Staff at HashiCorp

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

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

Getting Started

The easiest way to install Coder is to use our install script for Linux and macOS. For Windows, use the latest ..._installer.exe file from GitHub Releases.

To install, run:

curl -L https://coder.com/install.sh | sh

You can preview what occurs during the install process:

curl -L https://coder.com/install.sh | sh -s -- --dry-run

You can modify the installation process by including flags. Run the help command for reference:

curl -L https://coder.com/install.sh | sh -s -- --help

See install for additional methods.

Once installed, you can start a production deployment1 with a single command:

# Automatically sets up an external access URL on *.try.coder.app
coder server

# Requires a PostgreSQL instance (version 13 or higher) and external access URL
coder server --postgres-url <url> --access-url <url>

1 The embedded database is great for trying out Coder with small deployments, but do consider using an external database for increased assurance and control.

Use coder --help to get a complete list of flags and environment variables. Use our quickstart guide for a full walkthrough.

Documentation

Visit our docs here.

Templates

Find our templates here.

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 Virtual Machines

Last updated: 5/27/22

Community and Support

Join our community on Discord and Twitter!

Suggest improvements and report problems

Contributing

If you're using Coder in your organization, please try to add your company name to the ADOPTERS.md. It really helps the project to gain momentum and credibility. It's a small contribution back to the project with a big impact.

Read the contributing docs.

Find our list of contributors here.