install.md 6.3 KB
Newer Older
1 2
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
A
Anmol Sethi 已提交
3 4
# Install

5
- [install.sh](#installsh)
A
Anmol Sethi 已提交
6
  - [Flags](#flags)
A
Anmol Sethi 已提交
7
  - [Detect Reference](#detect-reference)
8 9 10 11 12 13 14 15 16 17
- [Debian, Ubuntu](#debian-ubuntu)
- [Fedora, CentOS, RHEL, SUSE](#fedora-centos-rhel-suse)
- [Arch Linux](#arch-linux)
- [yarn, npm](#yarn-npm)
- [macOS](#macos)
- [Static Releases](#static-releases)
- [Docker](#docker)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

A
Anmol Sethi 已提交
18 19 20
This document demonstrates how to install `code-server` on
various distros and operating systems.

A
Anmol Sethi 已提交
21 22
## install.sh

A
Anmol Sethi 已提交
23
We have a [script](./install.sh) to install code-server for Linux and macOS.
A
Anmol Sethi 已提交
24

A
Anmol Sethi 已提交
25
It tries to use the system package manager if possible.
A
Anmol Sethi 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38

First run to print out the install process:

```bash
curl -fsSL https://code-server.dev/install.sh | sh  -s -- --dry-run
```

Now to actually install:

```bash
curl -fsSL https://code-server.dev/install.sh | sh
```

A
Anmol Sethi 已提交
39 40
The script will print out how to run and start using code-server.

A
Anmol Sethi 已提交
41 42 43 44
If you believe an install script used with `curl | sh` is insecure, please give
[this wonderful blogpost](https://sandstorm.io/news/2015-09-24-is-curl-bash-insecure-pgp-verified-install) by
[sandstorm.io](https://sandstorm.io) a read.

A
Anmol Sethi 已提交
45
If you'd still prefer manual installation despite the below [detect reference](#detect-reference) and `--dry-run`
A
Anmol Sethi 已提交
46 47 48 49 50 51
then continue on for docs on manual installation. The [`install.sh`](./install.sh) script runs the _exact_ same
commands presented in the rest of this document.

### Flags

- `--dry-run` to echo the commands for the install process without running them.
A
Anmol Sethi 已提交
52 53 54 55
- `--method` to choose the installation method.
  - `--method=detect` to detect the package manager but fallback to `--method=archive`.
  - `--method=archive` to install a static release archive into `~/.local`.
- `--prefix=/usr/local` to install a static release archive system wide.
A
Anmol Sethi 已提交
56 57 58
- `--version=X.X.X` to install version `X.X.X` instead of latest.
- `--help` to see full usage docs.

A
Anmol Sethi 已提交
59
### Detect Reference
A
Anmol Sethi 已提交
60

A
Anmol Sethi 已提交
61 62
- For Debian, Ubuntu and Raspbian it will install the latest deb package.
- For Fedora, CentOS, RHEL and openSUSE it will install the latest rpm package.
A
Anmol Sethi 已提交
63
- For Arch Linux it will install the AUR package.
A
Anmol Sethi 已提交
64
- For any unrecognized Linux operating system it will install the latest static release into `~/.local`.
65

A
Anmol Sethi 已提交
66
  - Add `~/.local/bin` to your `$PATH` to run code-server.
A
Anmol Sethi 已提交
67 68

- For macOS it will install the Homebrew package.
69

A
Anmol Sethi 已提交
70
  - If Homebrew is not installed it will install the latest static release into `~/.local`.
A
Anmol Sethi 已提交
71
  - Add `~/.local/bin` to your `$PATH` to run code-server.
A
Anmol Sethi 已提交
72

A
Anmol Sethi 已提交
73
- If ran on an architecture with no binary releases, it will install the npm package with `yarn` or `npm`.
A
Anmol Sethi 已提交
74 75
  - We only have binary releases for amd64 and arm64 presently.

A
Anmol Sethi 已提交
76 77 78 79 80 81 82 83 84
## Debian, Ubuntu

```bash
curl -fOL https://github.com/cdr/code-server/releases/download/v3.3.1/code-server_3.3.1_amd64.deb
sudo dpkg -i code-server_3.3.1_amd64.deb
systemctl --user enable --now code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

85
## Fedora, CentOS, RHEL, SUSE
A
Anmol Sethi 已提交
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113

```bash
curl -fOL https://github.com/cdr/code-server/releases/download/v3.3.1/code-server-3.3.1-amd64.rpm
sudo rpm -i code-server-3.3.1-amd64.rpm
systemctl --user enable --now code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

## Arch Linux

```bash
# Installs code-server from the AUR using yay.
yay -S code-server
systemctl --user enable --now code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

```bash
# Installs code-server from the AUR with plain makepkg.
git clone https://aur.archlinux.org/code-server.git
cd code-server
makepkg -si
systemctl --user enable --now code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

## yarn, npm

A
Anmol Sethi 已提交
114
We recommend installing with `yarn` or `npm` when:
115

A
Anmol Sethi 已提交
116 117
1. You aren't on `amd64` or `arm64`.
2. If you're on Linux with glibc < v2.17
A
Anmol Sethi 已提交
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141

**note:** Installing via `yarn` or `npm` builds native modules on install and so requires C dependencies.
See [./doc/npm.md](./doc/npm.md) for installing these dependencies.

You will need at least node v12 installed. See [#1633](https://github.com/cdr/code-server/issues/1633).

```bash
yarn global add code-server
# Or: npm install -g code-server
code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

## macOS

```bash
brew install code-server
brew services start code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```

## Static Releases

We publish self contained `.tar.gz` archives for every release on [github](https://github.com/cdr/code-server/releases).
A
Anmol Sethi 已提交
142
They bundle the node binary and `node_modules`.
A
Anmol Sethi 已提交
143 144 145 146 147

1. Download the latest release archive for your system from [github](https://github.com/cdr/code-server/releases).
2. Unpack the release.
3. You can run code-server by executing `./bin/code-server`.

A
Anmol Sethi 已提交
148 149
You can add the code-server `bin` directory to your `$PATH` to easily execute `code-server`
without the full path every time.
A
Anmol Sethi 已提交
150 151 152 153

Here is an example script for installing and using a static `code-server` release on Linux:

```bash
154
mkdir -p ~/.local/lib ~/.local/bin
A
Anmol Sethi 已提交
155
curl -fL https://github.com/cdr/code-server/releases/download/v3.3.1/code-server-3.3.1-linux-amd64.tar.gz \
156 157 158 159
  | tar -C ~/.local/lib -xz
mv ~/.local/lib/code-server-3.3.1-linux-amd64 ~/.local/lib/code-server-3.3.1
ln -s ~/.local/lib/code-server-3.3.1/bin/code-server ~/.local/bin/code-server
PATH="~/.local/bin:$PATH"
A
Anmol Sethi 已提交
160 161 162
code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```
163 164 165

## Docker

A
Anmol Sethi 已提交
166 167 168 169 170 171 172 173 174 175 176
```bash
# This will start a code-server container and expose it at http://127.0.0.1:8080.
# It will also mount your current directory into the container as `/home/coder/project`
# and forward your UID/GID so that all file system operations occur as your user outside
# the container.
docker run -it -p 127.0.0.1:8080:8080 \
  -v "$PWD:/home/coder/project" \
  -u "$(id -u):$(id -g)" \
  codercom/code-server:latest
```

177 178
Our official image supports `amd64` and `arm64`.

A
Anmol Sethi 已提交
179
For `arm32` support there is a popular community maintained alternative:
180 181

https://hub.docker.com/r/linuxserver/code-server