-
Notifications
You must be signed in to change notification settings - Fork 927
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
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,116 +1,143 @@ | ||
# 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. --> | ||
Coder is a self-hosted, open source, cloud development environment that works | ||
with any cloud, IDE, OS, Git provider, and IDP. | ||
|
||
Coder is an open-source platform for creating and managing developer workspaces | ||
on your preferred clouds and servers. | ||
_Screenshots of Coder workspaces and connections_ | ||
|
||
<p align="center"> | ||
<img src="./images/hero-image.png"> | ||
</p> | ||
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. | ||
|
||
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. | ||
## IDE support | ||
|
||
<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> | ||
 | ||
|
||
## How it works | ||
You can use: | ||
|
||
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. | ||
- Any Web IDE, such as | ||
|
||
<p align="center"> | ||
<img src="./images/providers-compute.png"> | ||
</p> | ||
- [code-server](https://github.com/coder/code-server) | ||
- [JetBrains Projector](https://github.com/JetBrains/projector-server) | ||
- [Jupyter](https://jupyter.org/) | ||
- And others | ||
|
||
Coder workspaces don't stop at compute. You can add storage buckets, secrets, | ||
sidecars and whatever else Terraform lets you dream up. | ||
- Your existing remote development environment: | ||
|
||
[Learn more about templates.](./admin/templates/index.md) | ||
- [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) | ||
|
||
## IDE Support | ||
- A file sync such as [Mutagen](https://mutagen.io/) | ||
|
||
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/). | ||
## Why remote development | ||
|
||
<p align="center"> | ||
<img src="./images/ide-icons.svg" height=72> | ||
</p> | ||
Remote development offers several benefits for users and administrators, including: | ||
|
||
## Why remote development | ||
- **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. | ||
|
||
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: | ||
- **Increased security** | ||
|
||
- **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) | ||
- 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#roles). | ||
|
||
matifali marked this conversation as resolved.
Show resolved
Hide resolved
EdwardAngert marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- **Easier environment management:** Tools such as Terraform, nix, Docker, | ||
devcontainers, and so on make developer onboarding and the troubleshooting of | ||
development environments easier | ||
- **Improved compatibility** | ||
|
||
- **Increase security:** Centralize source code and other data onto private | ||
servers or cloud services instead of local developer machines | ||
- Remote workspaces can share infrastructure configurations with other | ||
development, staging, and production environments, reducing configuration | ||
drift. | ||
|
||
- **Improved compatibility:** Remote workspaces share infrastructure | ||
configuration with other development, staging, and production environments, | ||
reducing configuration drift | ||
- **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. | ||
|
||
- **Improved accessibility:** Devices such as lightweight notebooks, | ||
Chromebooks, and iPads can connect to remote workspaces via browser-based IDEs | ||
or remote IDE extensions | ||
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_ | ||
|
||
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) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.