From 182d21150774d971b7e34953903022d5effc6fd9 Mon Sep 17 00:00:00 2001 From: Roxedus Date: Wed, 3 Feb 2021 15:47:20 +0100 Subject: [PATCH 1/2] Add note regarding hashed code password Closes #51 --- README.md | 10 +++++++--- readme-vars.yml | 12 ++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 481529e..5f987f0 100644 --- a/README.md +++ b/README.md @@ -170,14 +170,18 @@ In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as bel   ## Application Setup -Access the webui at `http://:8443`. -For github integration, drop your ssh key in to `/config/.ssh`. -Then open a terminal from the top menu and set your github username and email via the following commands +Access the webui at `http://:8443`. +For github integration, drop your ssh key in to `/config/.ssh`. +Then open a terminal from the top menu and set your github username and email via the following commands ``` git config --global user.name "username" git config --global user.email "email address" ``` +### Hashed code-server password +If you wish to use the [hashed password](https://github.com/cdr/code-server/blob/v3.8.0/doc/FAQ.md#can-i-store-my-password-hashed) funtion in code-server, you need to pass the `HASHED_PASSWORD` environment variable, as well as the `PASSWORD` variable. +Note: Use printf instead of echo as echo introduces newlines in the hash + ## Docker Mods [![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=code-server&query=%24.mods%5B%27code-server%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=code-server "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.") diff --git a/readme-vars.yml b/readme-vars.yml index 2b34d75..d7c9a97 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -5,7 +5,7 @@ project_name: code-server project_url: "https://coder.com" project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/code-server-banner.png" project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is VS Code running on a remote server, accessible through the browser. - + - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. @@ -58,14 +58,18 @@ optional_block_1_items: "" # application setup block app_setup_block_enabled: true app_setup_block: | - Access the webui at `http://:8443`. - For github integration, drop your ssh key in to `/config/.ssh`. - Then open a terminal from the top menu and set your github username and email via the following commands + Access the webui at `http://:8443`. + For github integration, drop your ssh key in to `/config/.ssh`. + Then open a terminal from the top menu and set your github username and email via the following commands ``` git config --global user.name "username" git config --global user.email "email address" ``` + ### Hashed code-server password + If you wish to use the [hashed password](https://github.com/cdr/code-server/blob/v3.8.0/doc/FAQ.md#can-i-store-my-password-hashed) funtion in code-server, you need to pass the `HASHED_PASSWORD` environment variable, as well as the `PASSWORD` variable. + Note: Use printf instead of echo as echo introduces newlines in the hash + # changelog changelogs: From eaed61f4d287cd4d927609c0c34b617b5ff12b3b Mon Sep 17 00:00:00 2001 From: Roxedus Date: Thu, 4 Feb 2021 15:27:39 +0100 Subject: [PATCH 2/2] More vars --- README.md | 12 ++++++++---- readme-vars.yml | 10 ++++++---- root/etc/services.d/code-server/run | 4 ++-- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 5f987f0..8f09ef8 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ services: - PGID=1000 - TZ=Europe/London - PASSWORD=password #optional + - HASHED_PASSWORD= #optional - SUDO_PASSWORD=password #optional - SUDO_PASSWORD_HASH= #optional - PROXY_DOMAIN=code-server.my.domain #optional @@ -110,6 +111,7 @@ docker run -d \ -e PGID=1000 \ -e TZ=Europe/London \ -e PASSWORD=password `#optional` \ + -e HASHED_PASSWORD= `#optional` \ -e SUDO_PASSWORD=password `#optional` \ -e SUDO_PASSWORD_HASH= `#optional` \ -e PROXY_DOMAIN=code-server.my.domain `#optional` \ @@ -130,7 +132,8 @@ Container images are configured using parameters passed at runtime (such as thos | `-e PUID=1000` | for UserID - see below for explanation | | `-e PGID=1000` | for GroupID - see below for explanation | | `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London | -| `-e PASSWORD=password` | Optional web gui password, if not provided, there will be no auth. | +| `-e PASSWORD=password` | Optional web gui password, if `PASSWORD` or `HASHED_PASSWORD` is not provided, there will be no auth. | +| `-e HASHED_PASSWORD=` | Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below. | | `-e SUDO_PASSWORD=password` | If this optional variable is set, user will have sudo access in the code-server terminal with the specified password. | | `-e SUDO_PASSWORD_HASH=` | Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`. | | `-e PROXY_DOMAIN=code-server.my.domain` | If this optional variable is set, this domain will be proxied for subdomain proxying. See [Documentation](https://github.com/cdr/code-server/blob/master/doc/FAQ.md#sub-domains) | @@ -173,14 +176,14 @@ In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as bel Access the webui at `http://:8443`. For github integration, drop your ssh key in to `/config/.ssh`. Then open a terminal from the top menu and set your github username and email via the following commands -``` + +```bash git config --global user.name "username" git config --global user.email "email address" ``` ### Hashed code-server password -If you wish to use the [hashed password](https://github.com/cdr/code-server/blob/v3.8.0/doc/FAQ.md#can-i-store-my-password-hashed) funtion in code-server, you need to pass the `HASHED_PASSWORD` environment variable, as well as the `PASSWORD` variable. -Note: Use printf instead of echo as echo introduces newlines in the hash +To create the [hashed password](https://github.com/cdr/code-server/blob/master/doc/FAQ.md#can-i-store-my-password-hashed), use printf instead of echo as echo introduces newlines in the hash. ## Docker Mods @@ -254,6 +257,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **04.02.20:** - Allow setting gui password via hash using env var `HASHED_PASSWORD`. * **23.12.20:** - Allow setting sudo password via hash using env var `SUDO_PASSWORD_HASH`. * **29.05.20:** - Add --domain-proxy support. * **21.05.20:** - Shrink images, install via yarn, fix arm32v7 build. diff --git a/readme-vars.yml b/readme-vars.yml index d7c9a97..e043382 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -47,7 +47,8 @@ param_env_vars: # optional container parameters opt_param_usage_include_env: true opt_param_env_vars: - - { env_var: "PASSWORD", env_value: "password", desc: "Optional web gui password, if not provided, there will be no auth." } + - { env_var: "PASSWORD", env_value: "password", desc: "Optional web gui password, if `PASSWORD` or `HASHED_PASSWORD` is not provided, there will be no auth." } + - { env_var: "HASHED_PASSWORD", env_value: "", desc: "Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below." } - { env_var: "SUDO_PASSWORD", env_value: "password", desc: "If this optional variable is set, user will have sudo access in the code-server terminal with the specified password." } - { env_var: "SUDO_PASSWORD_HASH", env_value: "", desc: "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`." } - { env_var: "PROXY_DOMAIN", env_value: "code-server.my.domain", desc: "If this optional variable is set, this domain will be proxied for subdomain proxying. See [Documentation](https://github.com/cdr/code-server/blob/master/doc/FAQ.md#sub-domains)" } @@ -61,18 +62,19 @@ app_setup_block: | Access the webui at `http://:8443`. For github integration, drop your ssh key in to `/config/.ssh`. Then open a terminal from the top menu and set your github username and email via the following commands - ``` + + ```bash git config --global user.name "username" git config --global user.email "email address" ``` ### Hashed code-server password - If you wish to use the [hashed password](https://github.com/cdr/code-server/blob/v3.8.0/doc/FAQ.md#can-i-store-my-password-hashed) funtion in code-server, you need to pass the `HASHED_PASSWORD` environment variable, as well as the `PASSWORD` variable. - Note: Use printf instead of echo as echo introduces newlines in the hash + To create the [hashed password](https://github.com/cdr/code-server/blob/master/doc/FAQ.md#can-i-store-my-password-hashed), use printf instead of echo as echo introduces newlines in the hash. # changelog changelogs: + - { date: "04.02.20:", desc: "Allow setting gui password via hash using env var `HASHED_PASSWORD`." } - { date: "23.12.20:", desc: "Allow setting sudo password via hash using env var `SUDO_PASSWORD_HASH`." } - { date: "29.05.20:", desc: "Add --domain-proxy support." } - { date: "21.05.20:", desc: "Shrink images, install via yarn, fix arm32v7 build." } diff --git a/root/etc/services.d/code-server/run b/root/etc/services.d/code-server/run index def2ad5..4a7780c 100644 --- a/root/etc/services.d/code-server/run +++ b/root/etc/services.d/code-server/run @@ -1,6 +1,6 @@ #!/usr/bin/with-contenv bash -if [ -n "${PASSWORD}" ]; then +if [ -n "${PASSWORD}" ] || [ -n "${HASHED_PASSWORD}" ]; then AUTH="password" else AUTH="none" @@ -9,7 +9,7 @@ fi if [ -z ${PROXY_DOMAIN+x} ]; then PROXY_DOMAIN_ARG="" -else +else PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}" fi