diff --git a/README.md b/README.md index f79016a2..e054c93c 100644 --- a/README.md +++ b/README.md @@ -17,71 +17,21 @@ For a full setup and walkthrough, please see [./doc/guide.md](./doc/guide.md). ## Install -You can easily and securely install code-server with our install script on any Linux or macOS machine. +We have a script to install code-server on Linux or macOS preferring to use the system package manager. + +First run to print out the install process: ```bash -# First run to print out the install process. curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run -# Now it will actually install. +``` + +Now to actually install: + +```bash curl -fsSL https://code-server.dev/install.sh | sh ``` -``` -$ curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run --help - -$0 [--dry-run] [--version X.X.X] [--static =~/.local] - -Installs latest code-server on any macOS or Linux system preferring to use the OS package manager. - - curl -fsSL https://code-server.dev/install.sh | sh -s -- - -- For Debian, Ubuntu, Raspbian it will install the latest deb package. -- For Fedora, CentOS, RHEL, openSUSE it will install the latest rpm package. -- For Arch Linux it will install the AUR package. -- For any unrecognized Linux operating system it will install the latest static release into ~/.local - - Add ~/.local/bin to your \$PATH to run code-server. - -- For macOS it will install the Homebrew package. - - If Homebrew is not installed it will install the latest static release into ~/.local - - Add ~/.local/bin to your \$PATH to run code-server. - -- If ran on an architecture with no binary releases or glibc < v2.17, it will install the - npm package with yarn or npm. - - We only have binary releases for amd64 and arm64 presently. - - --dry-run Enables a dry run where where the steps that would have taken place - are printed but do not actually execute. - - --version Pass to install a specific version instead of the latest release. - - --static Forces the installation of a static release into ~/.local - - This flag takes an optional argument for the installation prefix which defaults to "~/.local". - code-server will be unarchived into ~/.local/lib/code-server.X.X.X and the binary will be symlinked - into "~/.local/bin/code-server". You will need to add ~/.local/bin to your \$PATH to use it without - the full path. - - To install system wide set the prefix to /usr/local. -``` - -If you still don't trust our install script, even with the above explaination and the dry run, we have -docs in [./doc/install.md](./doc/install.md) that explain how to install `code-server` on a variety of -platforms. The script runs the exact same commands. - -### Docker - -```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 -``` - -You should also check out +Docs on the install script, manual installation and docker instructions are at [./doc/install.md](./doc/install.md). ## FAQ diff --git a/doc/guide.md b/doc/guide.md index 43f231a8..c336c565 100644 --- a/doc/guide.md +++ b/doc/guide.md @@ -77,18 +77,23 @@ to avoid the slow dashboard. ## 2. Install code-server -SSH into your instance and run the appropriate commands documented in [README.md](../README.md). +We have a script to install code-server on Linux or macOS preferring to use the system package manager. -Assuming Debian: +First run to print out the install process: ```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 code-server is running at http://127.0.0.1:8080 -# Your password is in ~/.config/code-server/config.yaml +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 +``` + +Docs on the install script, manual installation and docker instructions are at [./doc/install.md](./doc/install.md). + + ## 3. Expose code-server **Never**, **ever** expose `code-server` directly to the internet without some form of authentication diff --git a/doc/install.md b/doc/install.md index d3c7028c..20d6defd 100644 --- a/doc/install.md +++ b/doc/install.md @@ -23,6 +23,43 @@ print out the commands it will run to install `code-server` but not run anything. That way you can verify the script is functioning as intended before installing. +## install.sh + +We have a script to install code-server on Linux or macOS preferring to use the system package manager. + +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 +``` + +- For Debian, Ubuntu, Raspbian it will install the latest deb package. +- For Fedora, CentOS, RHEL, openSUSE it will install the latest rpm package. +- For Arch Linux it will install the AUR package. +- For any unrecognized Linux operating system it will install the latest static release into ~/.local + - Add ~/.local/bin to your $PATH to run code-server. + +- For macOS it will install the Homebrew package. + - If Homebrew is not installed it will install the latest static release into ~/.local + - Add ~/.local/bin to your $PATH to run code-server. + +- If ran on an architecture with no binary releases, it will install the npm package with yarn or npm. + - We only have binary releases for amd64 and arm64 presently. + +Pass `--static` to install a static release into `~/.local`. +Pass `--static=/usr/local` to install a static release system wide. +Pass `--version=X.X.X` to install version `X.X.X` instead of latest. + +If you still don't trust our install script, even with the above explaination and the dry run, +continue for docs on manual installation. The script runs the exact same commands depicted +in the rest of this document. + ## Debian, Ubuntu ```bash @@ -113,4 +150,15 @@ code-server ## Docker -Documented in [README.md](../README.md#docker). +```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 +``` + +You should also check out diff --git a/install.sh b/install.sh index 43be6999..e96d9c6c 100755 --- a/install.sh +++ b/install.sh @@ -16,7 +16,7 @@ EOF )"$"\n" fi cat << EOF -Installs latest code-server on Linux or macOS preferring to use the system package manager. +Installs the latest code-server on Linux or macOS preferring to use the system package manager. Lives at https://code-server.dev/install.sh