-
Notifications
You must be signed in to change notification settings - Fork 889
feat: one-line install script #1924
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
Changes from all commits
006a805
2724aef
f7a5ee8
c3505ed
5d23600
936c466
086e30e
3a65b94
26ab867
3568085
a022e3b
038dc8c
fa59da0
bec5584
c308d60
8989211
cf1912a
a611c7b
a16a04a
6879752
8cba04c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,58 @@ | |
|
||
This article walks you through the various ways of installing and deploying Coder. | ||
|
||
## install.sh | ||
|
||
The easiest way to install Coder is to use our [install script](https://github.com/coder/coder/main/install.sh) for Linux and macOS. The install script | ||
attempts to use the system package manager detection-reference if possible. | ||
|
||
You can preview what occurs during the install process: | ||
|
||
```bash | ||
curl -L https://coder.com/install.sh | sh -s -- --dry-run | ||
``` | ||
|
||
To install, run: | ||
|
||
```bash | ||
curl -L https://coder.com/install.sh | sh | ||
``` | ||
|
||
> If you're concerned about the install script's use of `curl | sh` and the | ||
> security implications, please see [this blog | ||
> post](https://sandstorm.io/news/2015-09-24-is-curl-bash-insecure-pgp-verified-install) | ||
> by [sandstorm.io](https://sandstorm.io). | ||
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 | ||
``` | ||
|
||
## System packages | ||
|
||
Coder publishes the following system packages [in GitHub releases](https://github.com/coder/coder/releases): | ||
|
||
- .deb (Debian, Ubuntu) | ||
- .rpm (Fedora, CentOS, RHEL, SUSE) | ||
- .apk (Alpine) | ||
|
||
Once installed, you can run Coder as a system service: | ||
|
||
```sh | ||
# Specify a PostgreSQL database | ||
# in the configuration first: | ||
sudo vim /etc/coder.d/coder.env | ||
sudo service coder restart | ||
``` | ||
|
||
Or run a **temporary deployment** with dev mode (all data is in-memory and destroyed on exit): | ||
|
||
|
||
```sh | ||
coder server --dev | ||
``` | ||
|
||
## docker-compose | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @khorne3 I feel like this section is a bit too long. Thoughts on stopping after There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think after |
||
|
||
Before proceeding, please ensure that you have both Docker and the [latest version of | ||
|
@@ -40,62 +92,34 @@ Coder](https://github.com/coder/coder/releases) installed. | |
ghcr.io/coder/coder:v0.5.10 | ||
``` | ||
|
||
1. Open a new terminal window, and run `coder login <yourAccessURL>` to create | ||
your first user (once you've done so, you can navigate to `yourAccessURL` and | ||
log in with these credentials). | ||
1. Follow the on-screen instructions to create your first template and workspace | ||
|
||
1. Next, copy a sample template into a new directory so that you can create a custom template in a | ||
subsequent step (be sure that you're working in the directory where you want | ||
your templates stored): | ||
## Manual | ||
|
||
```console | ||
coder templates init | ||
``` | ||
We publish self-contained .zip and .tar.gz archives in [GitHub releases](https://github.com/coder/coder/releases). The archives bundle `coder` binary. | ||
|
||
Choose the "Develop in Docker" example to generate a sample template in the | ||
`docker` subdirectory. | ||
1. Download the [release archive](https://github.com/coder/coder/releases) appropriate for your operating system | ||
|
||
1. Navigate into the new directory and create a new template: | ||
1. Unzip the folder you just downloaded, and move the `coder` executable to a location that's on your `PATH` | ||
|
||
```console | ||
cd docker | ||
coder templates create | ||
```sh | ||
# ex. MacOS and Linux | ||
mv coder /usr/local/bin | ||
``` | ||
|
||
Follow the prompts displayed to proceed. When done, you'll see the following | ||
message: | ||
> Windows users: see [this guide](https://answers.microsoft.com/en-us/windows/forum/all/adding-path-variable/97300613-20cb-4d85-8d0e-cc9d3549ba23) for adding folders to `PATH`. | ||
|
||
```console | ||
The docker template has been created! Developers can | ||
provision a workspace with this template using: | ||
1. Start a Coder server | ||
|
||
coder create --template="docker" [workspace name] | ||
``` | ||
|
||
1. At this point, you're ready to provision your first workspace: | ||
To run a **temporary deployment**, start with dev mode (all data is in-memory and destroyed on exit): | ||
|
||
```console | ||
coder create --template="docker" [workspace name] | ||
```bash | ||
coder server --dev | ||
``` | ||
|
||
Follow the on-screen prompts to set the parameters for your workspace. If | ||
the process is successful, you'll get information regarding your workspace: | ||
To run a **production deployment** with PostgreSQL: | ||
|
||
```console | ||
┌─────────────────────────────────────────────────────────────────┐ | ||
│ RESOURCE STATUS ACCESS │ | ||
├─────────────────────────────────────────────────────────────────┤ | ||
│ docker_container.workspace ephemeral │ | ||
│ └─ dev (linux, amd64) ⦾ connecting [0s] coder ssh main │ | ||
├─────────────────────────────────────────────────────────────────┤ | ||
│ docker_volume.coder_volume ephemeral │ | ||
└─────────────────────────────────────────────────────────────────┘ | ||
The main workspace has been created! | ||
```bash | ||
CODER_PG_CONNECTION_URL="postgres://<username>@<host>/<database>?password=<password>" \ | ||
coder server | ||
``` | ||
|
||
You can now access your workspace via your web browser by navigating to your | ||
access URL, or you can connect to it via SSH by running: | ||
|
||
```console | ||
coder ssh [workspace name] | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This resolved some warnings around unspecified inputs. See https://www.mankier.com/1/shellcheck#-x and koalaman/shellcheck#902
The error was only for `/etc/os-release` in the script