install.md 6.1 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 7
  - [Flags](#flags)
  - [Installation reference](#installation-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 24
[We have a script](./install.sh) to install code-server for Linux and macOS.

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 45 46 47 48 49 50 51 52 53 54 55 56 57 58
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.

If you'd still prefer manual installation despite the below [reference](#reference) and `--dry-run`
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.
- `--static` to install a static release into `~/.local`.
- `--static=/usr/local` to install a static release system wide.
- `--version=X.X.X` to install version `X.X.X` instead of latest.
- `--help` to see full usage docs.

### Reference

A
Anmol Sethi 已提交
59 60
- 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 已提交
61
- For Arch Linux it will install the AUR package.
A
Anmol Sethi 已提交
62
- For any unrecognized Linux operating system it will install the latest static release into `~/.local`.
63

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

- For macOS it will install the Homebrew package.
67

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

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

A
Anmol Sethi 已提交
74 75 76 77 78 79 80 81 82
## 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
```

83
## Fedora, CentOS, RHEL, SUSE
A
Anmol Sethi 已提交
84 85 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

```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 已提交
112
We recommend installing with `yarn` or `npm` when:
113

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

**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).
They bundle the node binary and node_modules.

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`.

146 147
You can add the code-server `bin` directory to your `$PATH` or link to it from a
directory in your `$PATH` to easily execute `code-server` without the full path every time.
A
Anmol Sethi 已提交
148 149 150 151

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

```bash
152
mkdir -p ~/.local/lib ~/.local/bin
A
Anmol Sethi 已提交
153
curl -fL https://github.com/cdr/code-server/releases/download/v3.3.1/code-server-3.3.1-linux-amd64.tar.gz \
154 155 156 157
  | 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 已提交
158 159 160
code-server
# Now visit http://127.0.0.1:8080. Your password is in ~/.config/code-server/config.yaml
```
161 162 163

## Docker

A
Anmol Sethi 已提交
164 165 166 167 168 169 170 171 172 173 174
```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
```

175 176 177 178 179
Our official image supports `amd64` and `arm64`.

For `arm32` support there is a highly popular community maintained alternative:

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