Skip to content

docs: reorganize and edit docs README #14706

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Oct 14, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
197 changes: 113 additions & 84 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,116 +1,145 @@
# About Coder
# About

<!-- Warning for docs contributors: The first route in manifest.json must be titled "About" for the static landing page to work correctly. -->
<!-- Warning for docs contributors: The first route in manifest.json must be titled "About" for the static landing page to work correctly. -->

Coder is an open-source platform for creating and managing developer workspaces
on your preferred clouds and servers.
Coder is a self-hosted, open source, cloud development environment that works
with any cloud, IDE, OS, Git provider, and IDP.

<p align="center">
<img src="./images/hero-image.png">
</p>
![Screenshots of Coder workspaces and connections](./images/hero-image.png)_Screenshots of Coder workspaces and connections_

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 is built on common development interfaces and infrastructure tools to
make the process of provisioning and accessing remote workspaces approachable
for organizations of various sizes and stages of cloud-native maturity.

<blockquote class="warning">
<p>
If you are a Coder v1 customer, view <a href="https://coder.com/docs/coder">the docs</a> or <a href="https://coder.com/docs/coder/latest/guides/v2-faq">the sunset plans</a>.
</p>
</blockquote>
## IDE support

## How it works
![IDE icons](./images/ide-icons.svg)

Coder workspaces are represented with Terraform, but no Terraform knowledge is
required to get started. We have a
[database](https://registry.coder.com/templates) of pre-made templates built
into the product.
You can use:

<p align="center">
<img src="./images/providers-compute.png">
</p>
- Any Web IDE, such as

Coder workspaces don't stop at compute. You can add storage buckets, secrets,
sidecars and whatever else Terraform lets you dream up.
- [code-server](https://github.com/coder/code-server)
- [JetBrains Projector](https://github.com/JetBrains/projector-server)
- [Jupyter](https://jupyter.org/)
- And others

[Learn more about templates.](./admin/templates/index.md)
- Your existing remote development environment:

## IDE Support
- [JetBrains Gateway](https://www.jetbrains.com/remote-development/gateway/)
- [VS Code Remote](https://code.visualstudio.com/docs/remote/ssh-tutorial)
- [Emacs](./user-guides/workspace-access/emacs-tramp.md)

You can use any [Web IDE](./admin/templates/extending-templates/web-ides.md)
([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/).

<p align="center">
<img src="./images/ide-icons.svg" height=72>
</p>
- A file sync such as [Mutagen](https://mutagen.io/)

## Why remote development

Migrating from local developer machines to workspaces hosted by cloud services
is an
[increasingly common solution for developers](https://blog.alexellis.io/the-internet-is-my-computer/)
and
[organizations alike](https://slack.engineering/development-environments-at-slack).
There are several benefits, including:
Remote development offers several benefits for users and administrators, including:

- **Increased speed**

- Server-grade cloud hardware speeds up operations in software development, from
loading the IDE to compiling and building code, and running large workloads
such as those for monolith or microservice applications.

- **Easier environment management**

- Built-in infrastructure tools such as Terraform, nix, Docker, Dev Containers, and others make it easier to onboard developers with consistent environments.

- **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)
- **Increased security**

- **Easier environment management:** Tools such as Terraform, nix, Docker,
devcontainers, and so on make developer onboarding and the troubleshooting of
development environments easier
- Centralize source code and other data onto private servers or cloud services instead of local developers' machines.
- Manage users and groups with [SSO](./admin/users/oidc-auth.md) and [Role-based access controlled (RBAC)](./admin/users/groups-roles.md#roles).

- **Increase security:** Centralize source code and other data onto private
servers or cloud services instead of local developer machines
- **Improved compatibility**

- **Improved compatibility:** Remote workspaces share infrastructure
configuration with other development, staging, and production environments,
reducing configuration drift
- Remote workspaces can share infrastructure configurations 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
- **Improved accessibility**
- Connect to remote workspaces via browser-based IDEs or remote IDE
extensions to enable developers regardless of the device they use, whether
it's their main device, a lightweight laptop, Chromebook, or iPad.

Read more about why organizations and engineers are moving to remote
development on [our blog](https://coder.com/blog), the
[Slack engineering blog](https://slack.engineering/development-environments-at-slack),
or from [OpenFaaS's Alex Ellis](https://blog.alexellis.io/the-internet-is-my-computer/).

## Why Coder

The key difference between Coder OSS and other remote IDE platforms is the added
layer of infrastructure control. This additional layer allows admins to:
The key difference between Coder 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)
- Simultaneously support ARM, Windows, Linux, and macOS workspaces.
- Modify pod/container specs, such as adding disks, managing network policies, or
setting/updating environment variables.
- Use VM or 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
hosted by a cloud service.

## How much does it cost?

Coder is free and open source under
[GNU Affero General Public License v3.0](https://github.com/coder/coder/blob/main/LICENSE).
All developer productivity features are included in the Open Source version of
Coder.
A [Premium license is available](https://coder.com/pricing#compare-plans) for enhanced
support options and custom deployments.

## How does Coder work

Coder workspaces are represented with Terraform, but you don't need to know
Terraform to get started.
We have a [database of production-ready templates](https://registry.coder.com/templates)
for use with AWS EC2, Azure, Google Cloud, Kubernetes, and more.

![Providers and compute environments](./images/providers-compute.png)_Providers and compute environments_

Coder workspaces can be used for more than just compute.
You can use Terraform to add storage buckets, secrets, sidecars,
[and more](https://developer.hashicorp.com/terraform/tutorials).

Visit the [templates documentation](./admin/templates/index.md) to learn more.

## What Coder is not

- 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 be configured to 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.

- Coder supports common editors, such as VS Code, vim, and JetBrains,
all over HTTPS or SSH.

Coder includes
[production-ready templates](https://registry.coder.com/templates) for use with
AWS EC2, Azure, Google Cloud, Kubernetes, and more.
- Coder is not a collaboration platform.

## What Coder is _not_
- You can use Git with your favorite Git platform and dedicated IDE
extensions for pull requests, code reviews, and pair programming.

- 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 SaaS/fully-managed offering.
- Coder is a [self-hosted](<https://en.wikipedia.org/wiki/Self-hosting_(web_services)>)
solution.
You must host Coder in a private data center or on a cloud service, such as
AWS, Azure, or GCP.

- 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.
## Using Coder v1?

- Coder is not an online IDE. Instead, Coder supports common editors, such as VS
Code, vim, and JetBrains, over HTTPS or SSH.
If you're a Coder v1 customer, view [the v1 documentation](https://coder.com/docs/v1)
or [the v2 migration guide and FAQ](https://coder.com/docs/v1/guides/v2-faq).

- Coder is not a collaboration platform. You can use git and dedicated IDE
extensions for pull requests, code reviews, and pair programming.
## Up next

- Coder is not a SaaS/fully-managed offering. You must host Coder on a cloud
service (AWS, Azure, GCP) or your private data center.
- Learn about [Templates](./admin/templates/index.md)
- [Install Coder](./install/index.md)
Loading