Files
coder/docs/install.md
Ben Potter 46ffb67d60 feat: one-line install script (#1924)
* feat: one-line install script

* remove homebrew support

* remove arch linux

* use proper filename for packages

* fix variable format

* fix systemd instructions

* fixes to standalone script

* fix missing var bugs

* fix standalone install

* fix for MacOS

* format

* fix armv7 assets and zips

* remove windows

* update install docs

* support external sources with shellcheck

* shfmt

* add external sources to GitHub action & unfold

* change wording

* first template docs

* default to /usr/local instead

* add option for binary name
2022-06-01 14:15:09 -05:00

126 lines
3.5 KiB
Markdown

# Install
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
Before proceeding, please ensure that you have both Docker and the [latest version of
Coder](https://github.com/coder/coder/releases) installed.
1. Clone the `coder` repository:
```console
git clone git@github.com:coder/coder.git
```
1. Navigate into the `coder` folder. Coder requires a non-`localhost` access URL
for non-Docker-based examples; if you have a public IP or a domain/reverse
proxy, you can provide this value before running `docker-compose up` to
start the service:
```console
cd coder
CODER_ACCESS_URL=https://coder.mydomain.com
docker-compose up
```
Otherwise, you can start the service:
```console
cd coder
docker-compose up
```
Alternatively, if you would like to start a **temporary deployment**:
```console
docker run --rm -it \
-e CODER_DEV_MODE=true \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/coder/coder:v0.5.10
```
1. Follow the on-screen instructions to create your first template and workspace
## Manual
We publish self-contained .zip and .tar.gz archives in [GitHub releases](https://github.com/coder/coder/releases). The archives bundle `coder` binary.
1. Download the [release archive](https://github.com/coder/coder/releases) appropriate for your operating system
1. Unzip the folder you just downloaded, and move the `coder` executable to a location that's on your `PATH`
```sh
# ex. MacOS and Linux
mv coder /usr/local/bin
```
> 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`.
1. Start a Coder server
To run a **temporary deployment**, start with dev mode (all data is in-memory and destroyed on exit):
```bash
coder server --dev
```
To run a **production deployment** with PostgreSQL:
```bash
CODER_PG_CONNECTION_URL="postgres://<username>@<host>/<database>?password=<password>" \
coder server
```