From eaed61f4d287cd4d927609c0c34b617b5ff12b3b Mon Sep 17 00:00:00 2001 From: Roxedus Date: Thu, 4 Feb 2021 15:27:39 +0100 Subject: [PATCH] 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