2022-03-28 20:21:00 +00:00
# Coder
2022-01-04 02:54:27 +00:00
2022-04-26 17:10:50 +00:00
[!["GitHub
Discussions"](https://img.shields.io/badge/%20GitHub-%20Discussions-gray.svg?longCache=true& logo=github& colorB=purple)](https://github.com/coder/coder/discussions)
[!["Join us on
2022-05-18 21:14:31 +00:00
Discord"](https://img.shields.io/badge/join-us%20on%20Discord-gray.svg?longCache=true& logo=discord& colorB=purple)](https://discord.gg/coder)
2022-04-26 17:10:50 +00:00
[![Twitter
Follow](https://img.shields.io/twitter/follow/CoderHQ?label=%40CoderHQ& style=social)](https://twitter.com/coderhq)
[![codecov ](https://codecov.io/gh/coder/coder/branch/main/graph/badge.svg?token=TNLW3OAP6G )](https://codecov.io/gh/coder/coder)
2022-01-03 18:52:07 +00:00
2022-05-27 14:08:35 +00:00
Coder creates remote development machines so you can develop your code from anywhere.
2022-05-27 15:56:35 +00:00
> **Note**:
2022-05-27 16:09:53 +00:00
> Coder is in an alpha state, but any serious bugs are P1 for us so please report them.
2022-01-04 02:54:27 +00:00
2022-05-25 00:40:57 +00:00
< p align = "center" >
< img src = "./docs/images/hero-image.png" >
< / p >
2022-05-06 01:09:27 +00:00
2022-05-25 00:40:57 +00:00
**Code more**
2022-01-03 18:52:07 +00:00
2022-05-25 00:40:57 +00:00
- 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
2022-05-24 17:59:20 +00:00
2022-05-25 00:40:57 +00:00
**Manage less**
2022-05-24 17:59:20 +00:00
2022-05-25 00:40:57 +00:00
- 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
2022-05-25 01:19:26 +00:00
product.
2022-05-25 00:40:57 +00:00
< p align = "center" >
< img src = "./docs/images/providers-compute.png" >
< / p >
2022-05-25 01:19:26 +00:00
Coder workspaces don't stop at compute. You can add storage buckets, secrets, sidecars
and whatever else Terraform lets you dream up.
2022-05-25 00:40:57 +00:00
[Learn more about managing infrastructure. ](./docs/templates.md )
## IDE Support
2022-05-25 01:19:26 +00:00
You can use any Web IDE ([code-server](https://github.com/coder/code-server), [projector ](https://github.com/JetBrains/projector-server ), [Jupyter ](https://jupyter.org/ ), etc.), [JetBrains Gateway ](https://www.jetbrains.com/remote-development/gateway/ ), [VS Code Remote ](https://code.visualstudio.com/docs/remote/ssh-tutorial ) or even a file sync such as [mutagen ](https://mutagen.io/ ).
2022-05-25 00:40:57 +00:00
< p align = "center" >
< img src = "./docs/images/ide-icons.svg" height = 72 >
< / p >
2022-01-03 18:52:07 +00:00
2022-04-26 17:10:50 +00:00
## Installing Coder
2022-01-11 21:05:49 +00:00
2022-05-19 13:01:19 +00:00
We recommend installing [the latest
release](https://github.com/coder/coder/releases) on a system with at least 1
CPU core and 2 GB RAM:
2022-02-11 04:32:00 +00:00
2022-05-26 21:11:58 +00:00
1. Download the [release asset ](https://github.com/coder/coder/releases ) appropriate for your operating system
2022-05-19 13:01:19 +00:00
1. Unzip the folder you just downloaded, and move the `coder` executable to a
location that's on your `PATH`
2022-02-09 21:46:46 +00:00
2022-05-19 13:01:19 +00:00
> Make sure you have the appropriate credentials for your cloud provider (e.g.,
> access key ID and secret access key for AWS).
2022-03-16 03:55:21 +00:00
2022-05-19 13:01:19 +00:00
You can set up a temporary deployment, a production deployment, or a system service:
2022-03-16 03:55:21 +00:00
2022-05-19 13:01:19 +00:00
- To set up a **temporary deployment** , start with dev mode (all data is in-memory and is
2022-05-20 16:56:50 +00:00
destroyed on exit):
2022-05-19 13:01:19 +00:00
```bash
coder server --dev
```
- To run a **production deployment** with PostgreSQL:
```bash
CODER_PG_CONNECTION_URL="postgres://< username > @< host > /< database > ?password=< password > " \
coder server
```
2022-03-16 03:55:21 +00:00
2022-05-19 13:01:19 +00:00
- To run as a **system service** , install with `.deb` (Debian, Ubuntu) or `.rpm`
2022-05-20 16:56:50 +00:00
(Fedora, CentOS, RHEL, SUSE):
2022-03-16 03:55:21 +00:00
2022-05-19 13:01:19 +00:00
```bash
# Edit the configuration!
sudo vim /etc/coder.d/coder.env
sudo service coder restart
```
2022-03-16 03:55:21 +00:00
2022-05-19 13:01:19 +00:00
> Use `coder --help` to get a complete list of flags and environment
2022-05-20 16:56:50 +00:00
> variables.
2022-03-16 03:55:21 +00:00
2022-05-24 19:26:25 +00:00
See the [installation guide ](./docs/install.md ) for additional ways to deploy Coder.
2022-05-23 19:42:45 +00:00
2022-05-19 13:01:19 +00:00
## Creating your first template and workspace
2022-02-09 21:46:46 +00:00
2022-05-19 13:01:19 +00:00
In a new terminal window, run the following to copy a sample template:
2022-04-26 17:10:50 +00:00
```bash
coder templates init
2022-03-28 20:21:00 +00:00
```
2022-02-09 21:46:46 +00:00
2022-05-19 13:01:19 +00:00
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:
```bash
coder create --template="yourTemplate" < workspaceName >
```
Connect to your workspace via SSH:
2022-03-16 03:55:21 +00:00
2022-04-26 17:10:50 +00:00
```bash
2022-05-19 13:01:19 +00:00
coder ssh < workspaceName >
2022-03-28 20:21:00 +00:00
```
2022-03-16 03:55:21 +00:00
2022-05-19 13:01:19 +00:00
## Modifying templates
2022-04-01 18:48:45 +00:00
2022-04-26 17:10:50 +00:00
You can edit the Terraform template using a sample template:
2022-04-01 18:48:45 +00:00
```sh
2022-04-26 17:10:50 +00:00
coder templates init
cd gcp-linux/
vim main.tf
coder templates update gcp-linux
2022-04-01 18:48:45 +00:00
```
2022-04-26 17:10:50 +00:00
## Documentation
2022-05-20 16:56:50 +00:00
- [About Coder ](./docs/about.md#about-coder )
- [Why remote development ](./docs/about.md#why-remote-development )
- [Why Coder ](./docs/about.md#why-coder )
- [What Coder is not ](./docs/about.md#what-coder-is-not )
- [Comparison: Coder vs. [product]](./docs/about.md#comparison)
- [Templates ](./docs/templates.md )
- [Manage templates ](./docs/templates.md#manage-templates )
2022-04-26 17:10:50 +00:00
- [Persistent and ephemeral
2022-05-20 16:56:50 +00:00
resources](./docs/templates.md#persistent-and-ephemeral-resources)
- [Parameters ](./docs/templates.md#parameters )
- [Workspaces ](./docs/workspaces.md )
- [Create workspaces ](./docs/workspaces.md#create-workspaces )
- [Connect with SSH ](./docs/workspaces.md#connect-with-ssh )
- [Editors and IDEs ](./docs/workspaces.md#editors-and-ides )
- [Workspace lifecycle ](./docs/workspaces.md#workspace-lifecycle )
- [Updating workspaces ](./docs/workspaces.md#updating-workspaces )
2022-04-26 17:10:50 +00:00
2022-05-27 16:34:03 +00:00
## Comparison
Please file [an issue ](https://github.com/coder/coder/issues/new ) if any information is out of date. Also refer to: [What Coder is not ](./docs/about.md#what-coder-is-not ).
| Tool | Type | Delivery Model | Cost | Environments |
| :---------------------------------------------------------- | :------- | :----------------- | :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Coder ](https://github.com/coder/coder ) | Platform | OSS + Self-Managed | Pay your cloud | All [Terraform ](https://www.terraform.io/registry/providers ) resources, all clouds, multi-architecture: Linux, Mac, Windows, containers, VMs, amd64, arm64 |
| [code-server ](https://github.com/cdr/code-server ) | Web IDE | OSS + Self-Managed | Pay your cloud | Linux, Mac, Windows, containers, VMs, amd64, arm64 |
| [Coder (Classic) ](https://coder.com/docs ) | Platform | Self-Managed | Pay your cloud + license fees | Kubernetes Linux Containers |
| [GitHub Codespaces ](https://github.com/features/codespaces ) | Platform | SaaS | 2x Azure Compute | Linux containers |
---
_As of 5/27/22_
2022-04-06 17:26:17 +00:00
## Contributing
2022-01-11 21:05:49 +00:00
2022-05-20 16:56:50 +00:00
Read the [contributing docs ](./docs/CONTRIBUTING.md ).
2022-04-27 11:48:45 +00:00
2022-05-24 19:26:25 +00:00
Find our list of contributors [here ](./docs/CONTRIBUTORS.md ).