From 78113dbc4e0a5e2356cb6876421fb0ef5373aa09 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Mon, 30 Jan 2023 00:14:14 +0000 Subject: [PATCH] update readme --- .github/workflows/typos.toml | 1 + README.md | 114 +++++++++++++++++++---------------- docs/images/banner.png | Bin 0 -> 44087 bytes docs/images/logo.png | Bin 0 -> 11335 bytes 4 files changed, 64 insertions(+), 51 deletions(-) create mode 100644 docs/images/banner.png create mode 100644 docs/images/logo.png diff --git a/.github/workflows/typos.toml b/.github/workflows/typos.toml index bfe9951be551a..b10bc12472b63 100644 --- a/.github/workflows/typos.toml +++ b/.github/workflows/typos.toml @@ -3,6 +3,7 @@ alog = "alog" Jetbrains = "JetBrains" IST = "IST" MacOS = "macOS" +AKS = "AKS" [default.extend-words] # do as sudo replacement diff --git a/README.md b/README.md index 97f2bc884108b..21881134de8cc 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,64 @@ -# Coder — Your Self-Hosted Remote Development Platform +
+ -[!["Join us on -Discord"](https://img.shields.io/badge/join-us%20on%20Discord-gray.svg?longCache=true&logo=discord&colorB=green)](https://coder.com/chat?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) +

+ Self-Hosted Remote Development Environments +

+ + + +
+
+ +[Quickstart](#quickstart) | [Docs](https://coder.com/docs) | [Why Coder](https://coder.com/why) | [Enterprise](https://coder.com/docs/v2/latest/enterprise) + +[![discord](https://img.shields.io/discord/747933592273027093?label=discord)](https://discord.gg/coder) [![codecov](https://codecov.io/gh/coder/coder/branch/main/graph/badge.svg?token=TNLW3OAP6G)](https://codecov.io/gh/coder/coder) -[![Go Reference](https://pkg.go.dev/badge/github.com/coder/coder.svg)](https://pkg.go.dev/github.com/coder/coder) +[![release](https://img.shields.io/github/v/release/coder/coder)](https://github.com/coder/coder/releases) +[![godoc](https://pkg.go.dev/badge/github.com/coder/coder.svg)](https://pkg.go.dev/github.com/coder/coder) +[![Go Report Card](https://goreportcard.com/badge/github.com/coder/coder)](https://goreportcard.com/report/github.com/coder/coder) +[![license](https://img.shields.io/github/license/coder/coder)](./LICENSE) + +
+ +[Coder](https://coder.com) enables organizations to set up development environments in the cloud. Environments are defined with Terraform, connected through a secure high-speed Wireguard® tunnel, and are automatically shut down when not in use to save on costs. Coder gives engineering teams the flexibility to use the cloud for workloads that are most beneficial to them. -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. +- Define development environments in Terraform + - EC2 VMs, Kubernetes Pods, Docker Containers, etc. +- Automatically shutdown idle resources to save on costs +- Onboard developers in seconds instead of days

-## Highlights +## Quickstart -- 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 +The most convenient way to try Coder is to install it on your local machine and experiment with provisioning development environments using Docker (works on Linux, macOS, and Windows). -## Getting Started +``` +# First, install Coder +curl -L https://coder.com/install.sh | sh + +# Start the Coder server (caches data in ~/.cache/coder) +coder server + +# Navigate to http://localhost:3000 to create your initial user +# Create a Docker template, and provision a workspace +``` + +## Install The easiest way to install Coder is to use our [install script](https://github.com/coder/coder/blob/main/install.sh) for Linux and macOS. For Windows, use the latest `..._installer.exe` file from GitHub Releases. -To install, run: - ```bash curl -L https://coder.com/install.sh | sh ``` -You can preview what occurs during the install process: - -```bash -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: - -```bash -curl -L https://coder.com/install.sh | sh -s -- --help -``` +You can run the install script with `--dry-run` to see the commands that will be used to install without executing them. You can modify the installation process by including flags. Run the install script with `--help` for reference. > See [install](docs/install) for additional methods. @@ -55,49 +72,44 @@ coder server coder server --postgres-url --access-url ``` -> 1 The automatic setup is great for trying out Coder with small deployments, but do consider using an external database for increased assurance and control. +> 1 For production deployments, set up an external PostgreSQL instance for reliability. -Use `coder --help` to get a complete list of flags and environment variables. Use our [quickstart guide](https://coder.com/docs/v2/latest/quickstart) for a full walkthrough. +Use `coder --help` to get a list of flags and environment variables. Use our [quickstart guide](https://coder.com/docs/v2/latest/quickstart) for a full walkthrough. ## Documentation -Visit our docs [here](https://coder.com/docs/v2). +Browse our docs [here](https://coder.com/docs/v2) or visit a specific section below: -## Templates - -Find our templates [here](./examples/templates). +- [**Templates**](https://coder.com/docs/v2/latest/templates): Templates are written in Terraform and describe the infrastructure for workspaces +- [**Workspaces**](https://coder.com/docs/v2/latest/workspaces): Workspaces contain the IDEs, dependencies, and configuration information needed for software development +- [**IDEs**](https://coder.com/docs/v2/latest/ides): Connect your existing editor to a workspace +- [**Administration**](https://coder.com/docs/v2/latest/admin): Learn how to operate Coder +- [**Enterprise**](https://coder.com/docs/v2/latest/enterprise): Learn about our paid features built for large teams ## Community and Support -Join our community on [Discord](https://coder.com/chat?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) and [Twitter](https://twitter.com/coderhq)! +Feel free to [open an issue](https://github.com/coder/coder/issues/new) if you have questions, run into bugs, or have a feature request. -[Suggest improvements and report problems](https://github.com/coder/coder/issues/new/choose) +[Join our Discord](https://discord.gg/coder) to provide feedback on in-progress features, and chat with the community using Coder! ## Contributing -Read the [contributing docs](https://coder.com/docs/v2/latest/CONTRIBUTING). +Contributions are welcome! Read the [contributing docs](https://coder.com/docs/v2/latest/CONTRIBUTING) to get started. Find our list of contributors [here](https://github.com/coder/coder/graphs/contributors). -## Comparison +## Related + +We are always working on new integrations. Feel free to open an issue to request an integration. Contributions are welcome in any official or community repositories. -Please file [an issue](https://github.com/coder/coder/issues/new) if any information is out of date. Also refer to: +### Official -- [The Self-Hosting Paradox](https://coder.com/blog/the-self-hosting-paradox?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md). -- [GitHub Codespaces, Coder, and Enterprise Customers](https://coder.com/blog/github-codespaces-coder-and-enterprise-customers?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) -- [How our development team shares one giant bare metal machine](https://coder.com/blog/how-our-development-team-shares-one-giant-bare-metal-machine?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md). +- [**VS Code Extension**](https://marketplace.visualstudio.com/items?itemName=coder.coder-remote): Open any Coder workspace in VS Code with a single click +- [**JetBrains Gateway Extension**](https://plugins.jetbrains.com/plugin/19620-coder): Open any Coder workspace in JetBrains Gateway with a single click +- [**Self-Hosted VS Code Extension Marketplace**](https://github.com/coder/code-marketplace): A private extension marketplace that works in restricted or airgapped networks integrating with [code-server](https://github.com/coder/code-server). -| Tool | Type | Delivery Model | Cost | Internet Access Required | Latency and Data Sovereignty | Security isolation model | Product quality | Service Availability | Environments | IDE | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Coder](https://coder.com/blog/how-our-development-team-shares-one-giant-bare-metal-machine?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | OSS + Self-Managed | Pay your cloud | No | Self-Hosted | Unopinionated (whatever/wherever you choose to deploy thus 100% configurable) | [Defect history](https://github.com/coder/coder/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug) | Self-Hosted | All [Terraform](https://www.terraform.io/registry/providers) resources, all clouds, multi-architecture: Linux, Mac, Windows, containers, VMs, amd64, arm64 | Anything (vim, emacs, theia, code-server, openvscode-server, entire jetbrains suite inc gateway remote development, visual studio code desktop, visual studio for mac, visual studio for windows) you choose to install and deploy | -| [code-server](https://coder.com/blog/code-server-multiple-users?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Web IDE | OSS + Self-Managed | Pay your cloud | No | Self-Hosted | Self-Hosted docker container | [Defect history](https://github.com/coder/code-server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug) | Self-hosted | Linux, Mac, Windows, containers, VMs, amd64, arm64 | [code-server](https://github.com/coder/code-server) (VSCode MIT) [with restrictions](https://ghuntley.com/fracture) | -| [openvscode-server](https://github.com/gitpod-io/openvscode-server) | Web IDE | OSS + Self-Managed | Pay your cloud | No | Self-Hosted | Self-Hosted docker container | [Defect history](https://github.com/gitpod-io/openvscode-server) | Self-hosted | Linux, Mac, Windows, containers, VMs, amd64 | [openvscode-server](https://github.com/gitpod-io/openvscode-server) (VSCode MIT) [with restrictions](https://ghuntley.com/fracture) | -| [Amazon CodeCatalyst](https://coder.com/blog/the-self-hosting-paradox?utm_source=github.com/coder/coder?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | SaaS | Pay AWS | Yes | US West (Oregon) | ["all customer multi-tenancy isolation is done through virtual machines" for security reasons](https://devclass.com/2022/12/05/interview-why-aws-prefers-vms-for-code-isolation-and-tips-on-developing-for-lambda/) | N/A | [Service Health](https://health.aws.amazon.com/health/status) | Linux Virtual Machines | Cloud9, Visual Studio Code Desktop ([no restrictions](https://ghuntley.com/fracture)) and JetBrains Gateway | -| [CodeAnywhere](https://coder.com/blog/the-self-hosting-paradox?utm_source=github.com/coder/coder?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | SaaS | Per user | Yes | N/A | N/A | N/A | N/A | N/A | Theia | -| [GitHub Codespaces](https://coder.com/blog/github-codespaces-coder-and-enterprise-customers?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | SaaS | 2x Azure Compute | Yes | Four regions (US West, US East, Europe West, Southeast Asia) | ["two codespaces are never co-located on the same VM"](https://docs.github.com/en/codespaces/codespaces-reference/security-in-github-codespaces) | N/A | [Incident History](https://www.githubstatus.com/history) | Linux Virtual Machines, [GPUs supported](https://docs.github.com/en/codespaces/developing-in-codespaces/getting-started-with-github-codespaces-for-machine-learning) | Visual Studio Code ([no restrictions](https://ghuntley.com/fracture)) and JetBrains Gateway | -| [Gitpod](https://coder.com/blog/the-self-hosting-paradox?utm_source=github.com/coder/coder?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | [SaaS](https://news.ycombinator.com/item?id=33907897) | [Credits](https://www.gitpod.io/pricing) | Yes | Two regions (Europe, US) | [All customers intermixed on the same machine isolated via runc](https://kinvolk.io/blog/2020/12/improving-kubernetes-and-container-security-with-user-namespaces/) | [Defect history](https://github.com/gitpod-io/gitpod/issues?q=is%3Aissue+label%3A%22type%3A+bug%22+sort%3Aupdated-desc+) | [Incident history](https://www.gitpodstatus.com/history) | Basic Linux containers, [GPUs](https://github.com/gitpod-io/gitpod/issues/10650) and [kubernetes/k3s](https://github.com/gitpod-io/gitpod/issues/4889) is not yet possible | [openvscode-server](https://github.com/gitpod-io/openvscode-server) (VSCode MIT) [with restrictions](https://ghuntley.com/fracture) inhibiting functionality of [.NET](https://www.isdotnetopen.com), [Python](https://visualstudiomagazine.com/articles/2021/11/05/vscode-python-nov21.aspx), [C](https://marketplace.visualstudio.com/items/ms-vscode.cpptools/license), [C++](https://marketplace.visualstudio.com/items/ms-vscode.cpptools/license), [Jupyter](https://visualstudiomagazine.com/articles/2021/11/05/vscode-python-nov21.aspx) and usage of [GitHub Co-pilot](https://github.com/gitpod-io/gitpod/issues/10032). Visual Studio Code Desktop ([no restrictions](https://ghuntley.com/fracture)) and JetBrains Gateway supported | -| [Google Cloud Workstations](https://coder.com/blog/the-self-hosting-paradox?utm_source=github.com/coder/coder?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | SaaS (Preview, not GA) | Pay Google | Yes | southamerica-west1, us-east1, us-central1, us-west1, asia-east1, asia-southeast1, europe-north1, europe-southwest1, europe-west1, europe-west2, europe-west3, europe-west4 | N/A | N/A | Not generally available, offered in preview mode. | Linux | code-oss ([with restrictions](https://ghuntley.com/fracture)), Visual Studio Code Desktop ([no restrictions](https://ghuntley.com/fracture)) and JetBrains Gateway | -| [JetBrains Space](https://coder.com/blog/the-self-hosting-paradox?utm_source=github.com/coder/coder?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | SaaS + On-Prem ([Dev environments are not supported](https://www.jetbrains.com/help/space-on-premises/space-on-premises-installation.html)) | Pay JetBrains | Yes | EU Ireland region (eu-west-1) | EC2 | N/A | [Service Health](https://status.jetbrains.space/) | Linux Virtual Machines | JetBrains Suite | -| [Microsoft DevBox](https://coder.com/blog/the-self-hosting-paradox?utm_source=github.com/coder/coder?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=readme.md) | Platform | SaaS (Preview, not GA) | Pay Microsoft | Yes | Australia East, Europe West, Japan East, Canada Central, UK South, US East, US East 2, US South Central, and US West 3 | Microsoft Azure Virtual Machine | N/A | Not generally available, offered in preview mode. | Windows Virtual Machine | Any application that runs on Windows via Microsoft Remote Desktop | +### Community -_Last updated: 14/12/2022_ +- [**Provision Coder with Terraform**](https://github.com/ElliotG/coder-oss-tf): Provision Coder on Google GKE, Azure AKS, AWS EKS, DigitalOcean DOKS, IBMCloud K8s, OVHCloud K8s, and Scaleway K8s Kapsule with Terraform +- [**Coder GitHub Action**](https://github.com/marketplace/actions/update-coder-template): A GitHub Action that updates Coder templates +- [**Various Templates**](./examples/templates/community-templates.md): Hetzner Cloud, Docker in Docker, and other templates the community has built. diff --git a/docs/images/banner.png b/docs/images/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..d03b541846fa0f2ffda175b6e06646df4672ef3b GIT binary patch literal 44087 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 a{dbS#%HR4Ioyc7rU@6P1%T>r)hWsBOcJ`G3 literal 0 HcmV?d00001 diff --git a/docs/images/logo.png b/docs/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..04f0f18407b3d727b3d8d371670f629eabd4ddb8 GIT binary patch literal 11335 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 TK2DhK7fwz}S+Z8bB