Skip to content

feat: initial docs pages #1107

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 34 commits into from
Apr 26, 2022
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
eba2d48
docs structure and edits to getting started
bpmct Apr 22, 2022
1283422
draft for about page
bpmct Apr 22, 2022
8cb6a88
skeleton for concepts page
bpmct Apr 22, 2022
4c1b767
attempt at explaining templates
bpmct Apr 24, 2022
d5f5116
left-align tables
bpmct Apr 24, 2022
de9f3af
add best practices and variables
bpmct Apr 24, 2022
892122c
update structrure
bpmct Apr 25, 2022
c526982
update structure
bpmct Apr 25, 2022
68da32e
templates are shared
bpmct Apr 25, 2022
808767e
workspaces docs
bpmct Apr 25, 2022
c8f1e25
remove coming soon
bpmct Apr 25, 2022
a803f8a
fix typos
bpmct Apr 25, 2022
1bb34bd
docs structure and edits to getting started
bpmct Apr 22, 2022
97f03e0
draft for about page
bpmct Apr 22, 2022
0485c6c
skeleton for concepts page
bpmct Apr 22, 2022
0e1bc57
attempt at explaining templates
bpmct Apr 24, 2022
57d4d0f
left-align tables
bpmct Apr 24, 2022
fc48d53
add best practices and variables
bpmct Apr 24, 2022
361decc
update structrure
bpmct Apr 25, 2022
950ee85
update structure
bpmct Apr 25, 2022
afac7ee
templates are shared
bpmct Apr 25, 2022
e67dabb
workspaces docs
bpmct Apr 25, 2022
325c46c
remove coming soon
bpmct Apr 25, 2022
e37e4a4
fix typos
bpmct Apr 25, 2022
c010530
Merge branch 'bpmct/docs' of https://github.com/coder/coder into bpmc…
Apr 25, 2022
3bf7d4f
fix typos
bpmct Apr 25, 2022
ebcb866
Update docs/about.md
bpmct Apr 26, 2022
9c18282
remove line breaks between bullets
bpmct Apr 26, 2022
3e4318a
rename variables to parameters
bpmct Apr 26, 2022
8c93ae2
reduce limits
bpmct Apr 26, 2022
75af45b
merge
bpmct Apr 26, 2022
2ef477d
chore: edit text
Apr 26, 2022
c875319
Merge branch 'bpmct/docs' of https://github.com/coder/coder into bpmc…
Apr 26, 2022
81435b5
revert some changes, fix footnotes
bpmct Apr 26, 2022
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
34 changes: 27 additions & 7 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ Provision remote development environments with Terraform.
- Start writing code with a single command
- Use one of many [examples](./examples) to get started

## Getting Started
## Installing Coder

Install [the latest release](https://github.com/coder/coder/releases).
Install [the latest release](https://github.com/coder/coder/releases) on a system with
at least 2 CPU cores and 2 GB RAM.

To tinker, start with dev-mode (all data is in-memory, and is destroyed on exit):

Expand All @@ -27,33 +28,35 @@ $ CODER_PG_CONNECTION_URL="postgres://<username>@<host>/<database>?password=<pas
coder start
```

To run as a system service, install with `.deb` or `.rpm`:
To run as a system service, install with `.deb` (Debian, Ubuntu) or `.rpm` (Fedora, CentOS, RHEL, SUSE):

```bash
# Edit the configuration!
$ sudo vim /etc/coder.d/coder.env
$ sudo service coder restart
```

Reference `coder start --help` for a complete list of flags and environment variables.

### Your First Workspace

In a new terminal, create a new project (eg. Develop in Linux on Google Cloud):
In a new terminal, create a new template (eg. Develop in Linux on Google Cloud):

```
$ coder templates init
$ coder templates create
```

Create a new workspace and SSH in:
Create a new workspace and connect via SSH:

```
$ coder workspaces create my-first-workspace
$ coder ssh my-first-workspace
```

### Working with Projects
### Modifying Templates

You can edit the Terraform from a sample project:
You can edit the Terraform from a sample template:

```sh
$ coder templates init
Expand All @@ -62,6 +65,23 @@ $ vim main.tf
$ coder templates update gcp-linux
```

## Documentation

Some pages are coming soon. Contributions welcome!

- [About Coder](./about.md#about-coder)
- [Why remote development](about.md#why-remote-development)
- [Why Coder](about.md#why-coder)
- [What Coder is not](about.md#what-coder-is-not)
- Concepts
- Templates
- Workspaces
- Users and Organizations
- Guides
- Using the Coder CLI
- Install Coder on a VM with Caddy + LetsEncrypt
- Building templates in Coder

## Contributing

Read the [contributing docs](./CONTRIBUTING.md).
Expand Down
48 changes: 48 additions & 0 deletions docs/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# About Coder
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


Coder is an open source platform for creating and managing developer workspaces on your preferred clouds and servers.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there should be a screenshot to break up the text-heavy stuff

By building on top of common development inferfaces (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 v2 is in alpha and not ready for production use. You may be interested in [Coder v1](https://coder.com/docs) or [code-server](https://github.com/cdr/code-server).

## Why remote development

Migrating from local developer machines to remote servers is an increasingly common solution for developers[^1] and organizations[^2] alike. Remote development has a number of benefits:

- Speed: Server-grade compute speeds up operations in software development such as IDE loads, compiles, builds, and running large apps (monolyths or many microservices).

- Environment management: Onboarding & troubleshooting development environments is automated using tools such as Terraform, nix, Docker, devcontainers, etc.

- Security: Source code and other data can be centralized on private servers or cloud, instead of local developer machines.

- Compatability: Remote workspaces share infrastructure configuration with other developer, staging, and production environments, reducing configuration drift.

- Accessibility: Devices such as light notebooks, Chromebooks, and iPads connect to remote workspaces via browser-based IDEs or remote IDE extensions.

## Why Coder?

The added layer of infrastructure control is a key differentiator from Coder v1 and other remote IDE platforms. This gives admins the ability to:

- support ARM, Windows, Linux, and MacOS workspaces
- modify pod/container spec: add disks, manage network policy, environment variables
- use VM/dedicated workspaces: develop with Kernel features, container knowledge not required
- enable persistant workspaces: just like a local machine, but faster and in the cloud

Coder includes [production-ready templates](./examples) for use on Kubernetes, AWS EC2, Google Cloud, Azure, and more.

## What Coder is not

- Coder is an infrastructure as code (IaC) platform. Terraform is the first IaC *provisioner* in Coder. As a result, Coder admins can define any Terraform resources can as Coder workspaces.

- Coder is not a DevOps/CI platform. Coder workspaces can follow best practices for cloud workloads, but Coder is not responsible for how you define or deploy the software you write.

- Coder is not an online IDE. Instead, Coder has strong support for common editors such as VS Code, vim, and JetBrains, over HTTPS or SSH.

- Coder is not a collaboration platform. You can continue using git and IDE extensions for pull requests, code reviews, and pair programming.

- Coder is not SaaS/fully-managed. Install Coder on your cloud (AWS, GCP, Azure) or datacenter.

[^1]: alexellis.io: [The Internet is my computer](https://blog.alexellis.io/the-internet-is-my-computer/)

[^2]: slack.engineering: [Development environments at Slack](https://slack.engineering/development-environments-at-slack)
8 changes: 8 additions & 0 deletions docs/concepts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Coder Concepts


## Templates

Coder admins have the ability to create, update, and delete *templates*. Templates are the blueprint for developer workspaces.

## Workspaces