Compare commits

..

No commits in common. "master" and "4.99.4-ls269" have entirely different histories.

17 changed files with 69 additions and 127 deletions

0
.editorconfig Normal file → Executable file
View File

0
.github/CONTRIBUTING.md vendored Normal file → Executable file
View File

0
.github/FUNDING.yml vendored Normal file → Executable file
View File

0
.github/ISSUE_TEMPLATE/config.yml vendored Normal file → Executable file
View File

0
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Normal file → Executable file
View File

0
.github/ISSUE_TEMPLATE/issue.feature.yml vendored Normal file → Executable file
View File

0
.github/workflows/call_issue_pr_tracker.yml vendored Normal file → Executable file
View File

0
.github/workflows/call_issues_cron.yml vendored Normal file → Executable file
View File

0
.github/workflows/greetings.yml vendored Normal file → Executable file
View File

0
.github/workflows/permissions.yml vendored Normal file → Executable file
View File

2
Jenkinsfile vendored
View File

@ -780,7 +780,7 @@ pipeline {
docker run --rm \ docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /var/run/docker.sock:/var/run/docker.sock:ro \
-v ${TEMPDIR}:/tmp \ -v ${TEMPDIR}:/tmp \
ghcr.io/anchore/syft:v1.26.1 \ ghcr.io/anchore/syft:latest \
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt ${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 ) NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github" echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"

0
LICENSE Normal file → Executable file
View File

View File

@ -78,23 +78,6 @@ git config --global user.email "email address"
How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed). How to create the [hashed password](https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed).
## Read-Only Operation
This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).
### Caveats
* `/tmp` must be mounted to tmpfs
* `sudo` will not be available
## Non-Root Operation
This image can be run with a non-root user. For details please [read the docs](https://docs.linuxserver.io/misc/non-root/).
### Caveats
* `sudo` will not be available
## Usage ## Usage
To help you get started creating a container from this image you can either use docker-compose or the docker cli. To help you get started creating a container from this image you can either use docker-compose or the docker cli.
@ -120,7 +103,6 @@ services:
- SUDO_PASSWORD_HASH= #optional - SUDO_PASSWORD_HASH= #optional
- PROXY_DOMAIN=code-server.my.domain #optional - PROXY_DOMAIN=code-server.my.domain #optional
- DEFAULT_WORKSPACE=/config/workspace #optional - DEFAULT_WORKSPACE=/config/workspace #optional
- PWA_APPNAME=code-server #optional
volumes: volumes:
- /path/to/code-server/config:/config - /path/to/code-server/config:/config
ports: ports:
@ -142,7 +124,6 @@ docker run -d \
-e SUDO_PASSWORD_HASH= `#optional` \ -e SUDO_PASSWORD_HASH= `#optional` \
-e PROXY_DOMAIN=code-server.my.domain `#optional` \ -e PROXY_DOMAIN=code-server.my.domain `#optional` \
-e DEFAULT_WORKSPACE=/config/workspace `#optional` \ -e DEFAULT_WORKSPACE=/config/workspace `#optional` \
-e PWA_APPNAME=code-server `#optional` \
-p 8443:8443 \ -p 8443:8443 \
-v /path/to/code-server/config:/config \ -v /path/to/code-server/config:/config \
--restart unless-stopped \ --restart unless-stopped \
@ -165,10 +146,7 @@ Containers are configured using parameters passed at runtime (such as those abov
| `-e SUDO_PASSWORD_HASH=` | Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`. | | `-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/coder/code-server/blob/main/docs/guide.md#using-a-subdomain) | | `-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/coder/code-server/blob/main/docs/guide.md#using-a-subdomain) |
| `-e DEFAULT_WORKSPACE=/config/workspace` | If this optional variable is set, code-server will open this directory by default | | `-e DEFAULT_WORKSPACE=/config/workspace` | If this optional variable is set, code-server will open this directory by default |
| `-e PWA_APPNAME=code-server` | If this optional variable is set, the PWA app will the specified name. |
| `-v /config` | Contains all relevant configuration files. | | `-v /config` | Contains all relevant configuration files. |
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
| `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
## Environment variables from files (Docker secrets) ## Environment variables from files (Docker secrets)
@ -332,7 +310,6 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **03.06.25:** - Allow setting PWA name using env var `PWA_APPNAME`.
* **13.10.24:** - Only chown config folder when change to ownership or new install is detected. * **13.10.24:** - Only chown config folder when change to ownership or new install is detected.
* **09.10.24:** - Manage permissions in /config/.ssh according to file type * **09.10.24:** - Manage permissions in /config/.ssh according to file type
* **19.08.24:** - Rebase to Ubuntu Noble. * **19.08.24:** - Rebase to Ubuntu Noble.

View File

@ -1,5 +1,6 @@
NAME VERSION TYPE NAME VERSION TYPE
@babel/runtime 7.27.0 npm @babel/runtime 7.27.0 npm
@c4312/eventsource-umd 3.0.5 npm
@coder/logger 3.0.1 npm @coder/logger 3.0.1 npm
@mapbox/node-pre-gyp 1.0.11 npm @mapbox/node-pre-gyp 1.0.11 npm
@microsoft/1ds-core-js 3.2.13 npm @microsoft/1ds-core-js 3.2.13 npm
@ -17,22 +18,21 @@ NAME VERSION TYPE
@vscode/iconv-lite-umd 0.7.0 npm @vscode/iconv-lite-umd 0.7.0 npm
@vscode/proxy-agent 0.32.0 npm @vscode/proxy-agent 0.32.0 npm
@vscode/ripgrep 1.15.11 npm @vscode/ripgrep 1.15.11 npm
@vscode/spdlog 0.15.2 npm @vscode/spdlog 0.15.1 npm
@vscode/tree-sitter-wasm 0.1.4 npm @vscode/tree-sitter-wasm 0.1.4 npm
@vscode/vscode-languagedetection 1.0.21 npm @vscode/vscode-languagedetection 1.0.21 npm
@vscode/windows-process-tree 0.6.0 npm @vscode/windows-process-tree 0.6.0 npm
@vscode/windows-registry 1.1.0 npm @vscode/windows-registry 1.1.0 npm
@xterm/addon-clipboard 0.2.0-beta.90 npm @xterm/addon-clipboard 0.2.0-beta.82 npm
@xterm/addon-image 0.9.0-beta.107 npm @xterm/addon-image 0.9.0-beta.99 npm
@xterm/addon-ligatures 0.10.0-beta.107 npm @xterm/addon-ligatures 0.10.0-beta.99 npm
@xterm/addon-progress 0.2.0-beta.13 npm @xterm/addon-progress 0.2.0-beta.5 npm
@xterm/addon-search 0.16.0-beta.107 npm @xterm/addon-search 0.16.0-beta.99 npm
@xterm/addon-serialize 0.14.0-beta.107 npm @xterm/addon-serialize 0.14.0-beta.99 npm
@xterm/addon-unicode11 0.9.0-beta.107 npm @xterm/addon-unicode11 0.9.0-beta.99 npm
@xterm/addon-webgl 0.19.0-beta.107 npm @xterm/addon-webgl 0.19.0-beta.99 npm
@xterm/headless 5.6.0-beta.107 npm @xterm/headless 5.6.0-beta.99 npm
@xterm/xterm 5.6.0-beta.107 npm @xterm/xterm 5.6.0-beta.99 npm
OpenConsole.exe 1.22.250204002 binary (+1 duplicate)
abbrev 1.1.1 npm abbrev 1.1.1 npm
accepts 2.0.0 npm accepts 2.0.0 npm
adduser 3.137ubuntu1 deb adduser 3.137ubuntu1 deb
@ -41,8 +41,8 @@ agent-base 7.1.1 npm
agent-base 7.1.3 npm (+3 duplicates) agent-base 7.1.3 npm (+3 duplicates)
ansi-regex 5.0.1 npm ansi-regex 5.0.1 npm
aproba 2.0.0 npm aproba 2.0.0 npm
apt 2.8.3 deb apt 2.7.14build2 deb
apt-utils 2.8.3 deb apt-utils 2.7.14build2 deb
are-we-there-yet 2.0.0 npm are-we-there-yet 2.0.0 npm
argon2 0.31.2 npm argon2 0.31.2 npm
argparse 2.0.1 npm argparse 2.0.1 npm
@ -58,7 +58,7 @@ beep-boop 1.2.3 npm
bindings 1.5.0 npm bindings 1.5.0 npm
bl 4.1.0 npm bl 4.1.0 npm
body-parser 2.1.0 npm body-parser 2.1.0 npm
brace-expansion 1.1.12 npm brace-expansion 1.1.11 npm
braces 3.0.3 npm braces 3.0.3 npm
bsdutils 1:2.39.3-9ubuntu6.2 deb bsdutils 1:2.39.3-9ubuntu6.2 deb
buffer 5.7.1 npm buffer 5.7.1 npm
@ -76,15 +76,14 @@ charenc 0.0.2 npm
chownr 1.1.4 npm chownr 1.1.4 npm
chownr 2.0.0 npm chownr 2.0.0 npm
clojure 1.0.0 npm clojure 1.0.0 npm
code-server 1.101.2 npm code-server 1.99.3 npm
code-server 4.101.2 npm code-server 4.99.4 npm
coffeescript 1.0.0 npm coffeescript 1.0.0 npm
color-support 1.1.3 npm color-support 1.1.3 npm
compressible 2.0.18 npm compressible 2.0.18 npm
compression 1.8.0 npm compression 1.8.0 npm
concat-map 0.0.1 npm concat-map 0.0.1 npm
configuration-editing 1.0.0 npm configuration-editing 1.0.0 npm
conpty.dll 1.22.250204002 binary (+1 duplicate)
console-control-strings 1.1.0 npm console-control-strings 1.1.0 npm
content-disposition 1.0.0 npm content-disposition 1.0.0 npm
content-type 1.0.5 npm content-type 1.0.5 npm
@ -146,6 +145,7 @@ estraverse 5.3.0 npm
esutils 2.0.3 npm esutils 2.0.3 npm
etag 1.8.1 npm etag 1.8.1 npm
eventemitter3 4.0.7 npm eventemitter3 4.0.7 npm
eventsource-parser 3.0.0 npm
expand-template 2.0.3 npm expand-template 2.0.3 npm
express 5.0.1 npm express 5.0.1 npm
extension-editing 1.0.0 npm extension-editing 1.0.0 npm
@ -237,7 +237,7 @@ java 1.0.0 npm
javascript 1.0.0 npm javascript 1.0.0 npm
jq 1.7.1-3build1 deb jq 1.7.1-3build1 deb
js-base64 3.7.7 npm js-base64 3.7.7 npm
js-debug 1.100.1 npm js-debug 1.97.1 npm
js-debug-companion 1.1.3 npm js-debug-companion 1.1.3 npm
js-yaml 4.1.0 npm js-yaml 4.1.0 npm
jsbn 1.1.0 npm (+1 duplicate) jsbn 1.1.0 npm (+1 duplicate)
@ -249,13 +249,13 @@ julia 1.0.0 npm
just-performance 4.3.0 npm just-performance 4.3.0 npm
kerberos 2.1.1 npm kerberos 2.1.1 npm
keyboxd 2.4.4-2ubuntu17.2 deb keyboxd 2.4.4-2ubuntu17.2 deb
krb5-locales 1.20.1-6ubuntu2.6 deb krb5-locales 1.20.1-6ubuntu2.5 deb
latex 1.0.0 npm latex 1.0.0 npm
less 1.0.0 npm less 1.0.0 npm
less 590-2ubuntu2.1 deb less 590-2ubuntu2.1 deb
libacl1 2.3.2-1build1.1 deb libacl1 2.3.2-1build1.1 deb
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.4 deb libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.4 deb
libapt-pkg6.0t64 2.8.3 deb libapt-pkg6.0t64 2.7.14build2 deb
libassuan0 2.5.6-1build1 deb libassuan0 2.5.6-1build1 deb
libatomic1 14.2.0-4ubuntu2~24.04 deb libatomic1 14.2.0-4ubuntu2~24.04 deb
libattr1 1:2.5.2-1build1.1 deb libattr1 1:2.5.2-1build1.1 deb
@ -289,14 +289,14 @@ libgdbm6t64 1.23-5.1build1 deb
libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb
libgnutls30t64 3.8.3-1.1ubuntu3.3 deb libgnutls30t64 3.8.3-1.1ubuntu3.3 deb
libgpg-error0 1.47-3build2.1 deb libgpg-error0 1.47-3build2.1 deb
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb libgssapi-krb5-2 1.20.1-6ubuntu2.5 deb
libhogweed6t64 3.9.1-2.2build1.1 deb libhogweed6t64 3.9.1-2.2build1.1 deb
libidn2-0 2.3.7-2build1.1 deb libidn2-0 2.3.7-2build1.1 deb
libjq1 1.7.1-3build1 deb libjq1 1.7.1-3build1 deb
libk5crypto3 1.20.1-6ubuntu2.6 deb libk5crypto3 1.20.1-6ubuntu2.5 deb
libkeyutils1 1.6.3-3build1 deb libkeyutils1 1.6.3-3build1 deb
libkrb5-3 1.20.1-6ubuntu2.6 deb libkrb5-3 1.20.1-6ubuntu2.5 deb
libkrb5support0 1.20.1-6ubuntu2.6 deb libkrb5support0 1.20.1-6ubuntu2.5 deb
libksba8 1.6.6-1build1 deb libksba8 1.6.6-1build1 deb
libldap-common 2.6.7+dfsg-1~exp1ubuntu8.2 deb libldap-common 2.6.7+dfsg-1~exp1ubuntu8.2 deb
libldap2 2.6.7+dfsg-1~exp1ubuntu8.2 deb libldap2 2.6.7+dfsg-1~exp1ubuntu8.2 deb
@ -310,10 +310,10 @@ libnghttp2-14 1.59.0-1ubuntu0.2 deb
libnpth0t64 1.6-3.1build1 deb libnpth0t64 1.6-3.1build1 deb
libonig5 6.9.9-1build1 deb libonig5 6.9.9-1build1 deb
libp11-kit0 0.25.3-4ubuntu2.1 deb libp11-kit0 0.25.3-4ubuntu2.1 deb
libpam-modules 1.5.3-5ubuntu5.4 deb libpam-modules 1.5.3-5ubuntu5.1 deb
libpam-modules-bin 1.5.3-5ubuntu5.4 deb libpam-modules-bin 1.5.3-5ubuntu5.1 deb
libpam-runtime 1.5.3-5ubuntu5.4 deb libpam-runtime 1.5.3-5ubuntu5.1 deb
libpam0g 1.5.3-5ubuntu5.4 deb libpam0g 1.5.3-5ubuntu5.1 deb
libpcre2-8-0 10.42-4ubuntu2.1 deb libpcre2-8-0 10.42-4ubuntu2.1 deb
libperl5.38t64 5.38.2-3.2ubuntu0.1 deb libperl5.38t64 5.38.2-3.2ubuntu0.1 deb
libproc2-0 2:4.0.4-4ubuntu3.2 deb libproc2-0 2:4.0.4-4ubuntu3.2 deb
@ -329,15 +329,15 @@ libsemanage-common 3.5-1build5 deb
libsemanage2 3.5-1build5 deb libsemanage2 3.5-1build5 deb
libsepol2 3.5-2build1 deb libsepol2 3.5-2build1 deb
libsmartcols1 2.39.3-9ubuntu6.2 deb libsmartcols1 2.39.3-9ubuntu6.2 deb
libsqlite3-0 3.45.1-1ubuntu2.3 deb libsqlite3-0 3.45.1-1ubuntu2.1 deb
libss2 1.47.0-2.4~exp1ubuntu4.1 deb libss2 1.47.0-2.4~exp1ubuntu4.1 deb
libssh-4 0.10.6-2build2 deb libssh-4 0.10.6-2build2 deb
libssl3t64 3.0.13-0ubuntu3.5 deb libssl3t64 3.0.13-0ubuntu3.5 deb
libstdc++6 14.2.0-4ubuntu2~24.04 deb libstdc++6 14.2.0-4ubuntu2~24.04 deb
libsystemd0 255.4-1ubuntu8.8 deb libsystemd0 255.4-1ubuntu8.6 deb
libtasn1-6 4.19.0-3ubuntu0.24.04.1 deb libtasn1-6 4.19.0-3ubuntu0.24.04.1 deb
libtinfo6 6.4+20240113-1ubuntu2 deb libtinfo6 6.4+20240113-1ubuntu2 deb
libudev1 255.4-1ubuntu8.8 deb libudev1 255.4-1ubuntu8.6 deb
libunistring5 1.1-2build1.1 deb libunistring5 1.1-2build1.1 deb
libuuid1 2.39.3-9ubuntu6.2 deb libuuid1 2.39.3-9ubuntu6.2 deb
libx11-6 2:1.8.7-1build1 deb libx11-6 2:1.8.7-1build1 deb
@ -395,11 +395,11 @@ ncurses-base 6.4+20240113-1ubuntu2 deb
ncurses-bin 6.4+20240113-1ubuntu2 deb ncurses-bin 6.4+20240113-1ubuntu2 deb
negotiator 0.6.4 npm negotiator 0.6.4 npm
negotiator 1.0.0 npm negotiator 1.0.0 npm
net-tools 2.10-0.1ubuntu4.4 deb net-tools 2.10-0.1ubuntu4 deb
netbase 6.4 deb netbase 6.4 deb
netcat-openbsd 1.226-1ubuntu2 deb netcat-openbsd 1.226-1ubuntu2 deb
netmask 2.0.2 npm netmask 2.0.2 npm
node 22.15.1 binary node 20.18.3 binary
node-abi 3.8.0 npm node-abi 3.8.0 npm
node-addon-api 7.1.0 npm node-addon-api 7.1.0 npm
node-addon-api 7.1.1 npm node-addon-api 7.1.1 npm
@ -415,7 +415,7 @@ objective-c 1.0.0 npm
on-finished 2.4.1 npm on-finished 2.4.1 npm
on-headers 1.0.2 npm on-headers 1.0.2 npm
once 1.4.0 npm (+1 duplicate) once 1.4.0 npm (+1 duplicate)
openssh-client 1:9.6p1-3ubuntu13.12 deb openssh-client 1:9.6p1-3ubuntu13.11 deb
openssl 3.0.13-0ubuntu3.5 deb openssl 3.0.13-0ubuntu3.5 deb
opentype.js 0.8.0 npm opentype.js 0.8.0 npm
os-tmpdir 1.0.2 npm os-tmpdir 1.0.2 npm
@ -440,7 +440,6 @@ powershell 1.0.0 npm
prebuild-install 7.1.2 npm prebuild-install 7.1.2 npm
procps 2:4.0.4-4ubuntu3.2 deb procps 2:4.0.4-4ubuntu3.2 deb
promise-stream-reader 1.0.1 npm promise-stream-reader 1.0.1 npm
prompt 1.0.0 npm
proxy-addr 2.0.7 npm proxy-addr 2.0.7 npm
proxy-agent 6.5.0 npm proxy-agent 6.5.0 npm
proxy-from-env 1.1.0 npm (+1 duplicate) proxy-from-env 1.1.0 npm (+1 duplicate)
@ -506,11 +505,11 @@ strip-ansi 6.0.1 npm
strip-json-comments 2.0.1 npm strip-json-comments 2.0.1 npm
sudo 1.9.15p5-3ubuntu5 deb sudo 1.9.15p5-3ubuntu5 deb
swift 1.0.0 npm swift 1.0.0 npm
systemd-standalone-sysusers 255.4-1ubuntu8.8 deb systemd-standalone-sysusers 255.4-1ubuntu8.6 deb
sysvinit-utils 3.08-6ubuntu3 deb sysvinit-utils 3.08-6ubuntu3 deb
tar 1.35+dfsg-3build1 deb tar 1.35+dfsg-3build1 deb
tar 6.2.1 npm tar 6.2.1 npm
tar-fs 2.1.2 npm tar-fs 2.1.1 npm
tar-stream 2.2.0 npm tar-stream 2.2.0 npm
tas-client-umd 0.2.0 npm tas-client-umd 0.2.0 npm
terminal-suggest 1.0.1 npm terminal-suggest 1.0.1 npm
@ -534,11 +533,11 @@ tunnel-agent 0.6.0 npm
tunnel-forwarding 1.0.0 npm tunnel-forwarding 1.0.0 npm
type-is 2.0.0 npm type-is 2.0.0 npm
typescript 1.0.0 npm typescript 1.0.0 npm
typescript 5.8.3 npm typescript 5.8.2 npm
typescript-language-features 1.0.0 npm typescript-language-features 1.0.0 npm
tzdata 2025b-0ubuntu0.24.04.1 deb tzdata 2025b-0ubuntu0.24.04 deb
ubuntu-keyring 2023.11.28.1 deb ubuntu-keyring 2023.11.28.1 deb
undici 7.9.0 npm undici 7.3.0 npm
universalify 2.0.1 npm universalify 2.0.1 npm
unminimize 0.2.1 deb unminimize 0.2.1 deb
unpipe 1.0.0 npm unpipe 1.0.0 npm

View File

@ -36,14 +36,6 @@ opt_param_env_vars:
- {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: "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/coder/code-server/blob/main/docs/guide.md#using-a-subdomain)"} - {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/coder/code-server/blob/main/docs/guide.md#using-a-subdomain)"}
- {env_var: "DEFAULT_WORKSPACE", env_value: "/config/workspace", desc: "If this optional variable is set, code-server will open this directory by default"} - {env_var: "DEFAULT_WORKSPACE", env_value: "/config/workspace", desc: "If this optional variable is set, code-server will open this directory by default"}
- {env_var: "PWA_APPNAME", env_value: "code-server", desc: "If this optional variable is set, the PWA app will the specified name."}
readonly_supported: true
readonly_message: |
* `/tmp` must be mounted to tmpfs
* `sudo` will not be available
nonroot_supported: true
nonroot_message: |
* `sudo` will not be available
# application setup block # application setup block
app_setup_block_enabled: true app_setup_block_enabled: true
app_setup_block: | app_setup_block: |
@ -81,14 +73,12 @@ init_diagram: |
init-crontab-config -> init-config-end init-crontab-config -> init-config-end
init-config -> init-crontab-config init-config -> init-crontab-config
init-mods-end -> init-custom-files init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile base -> init-envfile
base -> init-migrations base -> init-migrations
init-config-end -> init-mods init-config-end -> init-mods
init-mods-package-install -> init-mods-end init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install init-mods -> init-mods-package-install
init-adduser -> init-os-end init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end init-envfile -> init-os-end
init-custom-files -> init-services init-custom-files -> init-services
init-services -> svc-code-server init-services -> svc-code-server
@ -102,7 +92,6 @@ init_diagram: |
"code-server:latest" <- Base Images "code-server:latest" <- Base Images
# changelog # changelog
changelogs: changelogs:
- {date: "03.06.25:", desc: "Allow setting PWA name using env var `PWA_APPNAME`."}
- {date: "13.10.24:", desc: "Only chown config folder when change to ownership or new install is detected."} - {date: "13.10.24:", desc: "Only chown config folder when change to ownership or new install is detected."}
- {date: "09.10.24:", desc: "Manage permissions in /config/.ssh according to file type"} - {date: "09.10.24:", desc: "Manage permissions in /config/.ssh according to file type"}
- {date: "19.08.24:", desc: "Rebase to Ubuntu Noble."} - {date: "19.08.24:", desc: "Rebase to Ubuntu Noble."}

View File

@ -3,20 +3,18 @@
mkdir -p /config/{extensions,data,workspace,.ssh} mkdir -p /config/{extensions,data,workspace,.ssh}
if [[ -z ${LSIO_NON_ROOT_USER} ]] && [[ -z ${LSIO_READ_ONLY_FS} ]]; then if [[ -n "${SUDO_PASSWORD}" ]] || [[ -n "${SUDO_PASSWORD_HASH}" ]]; then
if [[ -n "${SUDO_PASSWORD}" ]] || [[ -n "${SUDO_PASSWORD_HASH}" ]]; then echo "setting up sudo access"
echo "setting up sudo access" if ! grep -q 'abc' /etc/sudoers; then
if ! grep -q 'abc' /etc/sudoers; then echo "adding abc to sudoers"
echo "adding abc to sudoers" echo "abc ALL=(ALL:ALL) ALL" >> /etc/sudoers
echo "abc ALL=(ALL:ALL) ALL" >> /etc/sudoers fi
fi if [[ -n "${SUDO_PASSWORD_HASH}" ]]; then
if [[ -n "${SUDO_PASSWORD_HASH}" ]]; then echo "setting sudo password using sudo password hash"
echo "setting sudo password using sudo password hash" sed -i "s|^abc:\!:|abc:${SUDO_PASSWORD_HASH}:|" /etc/shadow
sed -i "s|^abc:\!:|abc:${SUDO_PASSWORD_HASH}:|" /etc/shadow else
else echo "setting sudo password using SUDO_PASSWORD env var"
echo "setting sudo password using SUDO_PASSWORD env var" echo -e "${SUDO_PASSWORD}\n${SUDO_PASSWORD}" | passwd abc
echo -e "${SUDO_PASSWORD}\n${SUDO_PASSWORD}" | passwd abc
fi
fi fi
fi fi
@ -28,19 +26,17 @@ if [[ ! -f /config/.profile ]]; then
cp /root/.profile /config/.profile cp /root/.profile /config/.profile
fi fi
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then # fix permissions (ignore contents of workspace)
# fix permissions (ignore contents of workspace) PUID=${PUID:-911}
PUID=${PUID:-911} if [[ ! "$(stat -c %u /config/.profile)" == "${PUID}" ]]; then
if [[ ! "$(stat -c %u /config/.profile)" == "${PUID}" ]]; then echo "Change in ownership or new install detected, please be patient while we chown existing files"
echo "Change in ownership or new install detected, please be patient while we chown existing files" echo "This could take some time"
echo "This could take some time" find /config -path "/config/workspace" -prune -o -exec lsiown abc:abc {} +
find /config -path "/config/workspace" -prune -o -exec lsiown abc:abc {} + lsiown abc:abc /config/workspace
lsiown abc:abc /config/workspace fi
fi chmod 700 /config/.ssh
chmod 700 /config/.ssh if [[ -n "$(ls -A /config/.ssh)" ]]; then
if [[ -n "$(ls -A /config/.ssh)" ]]; then find /config/.ssh/ -type d -exec chmod 700 '{}' \;
find /config/.ssh/ -type d -exec chmod 700 '{}' \; find /config/.ssh/ -type f -exec chmod 600 '{}' \;
find /config/.ssh/ -type f -exec chmod 600 '{}' \; find /config/.ssh/ -type f -iname '*.pub' -exec chmod 644 '{}' \;
find /config/.ssh/ -type f -iname '*.pub' -exec chmod 644 '{}' \;
fi
fi fi

View File

@ -14,33 +14,14 @@ else
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}" PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
fi fi
if [[ -z ${PWA_APPNAME} ]]; then exec \
PWA_APPNAME="code-server" s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
fi s6-setuidgid abc \
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
s6-setuidgid abc \
/app/code-server/bin/code-server \
--bind-addr 0.0.0.0:8443 \
--user-data-dir /config/data \
--extensions-dir /config/extensions \
--disable-telemetry \
--auth "${AUTH}" \
--app-name "${PWA_APPNAME}" \
"${PROXY_DOMAIN_ARG}" \
"${DEFAULT_WORKSPACE:-/config/workspace}"
else
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
/app/code-server/bin/code-server \ /app/code-server/bin/code-server \
--bind-addr 0.0.0.0:8443 \ --bind-addr 0.0.0.0:8443 \
--user-data-dir /config/data \ --user-data-dir /config/data \
--extensions-dir /config/extensions \ --extensions-dir /config/extensions \
--disable-telemetry \ --disable-telemetry \
--auth "${AUTH}" \ --auth "${AUTH}" \
--app-name "${PWA_APPNAME}" \
"${PROXY_DOMAIN_ARG}" \ "${PROXY_DOMAIN_ARG}" \
"${DEFAULT_WORKSPACE:-/config/workspace}" "${DEFAULT_WORKSPACE:-/config/workspace}"
fi