Compare commits

..

13 Commits

Author SHA1 Message Date
LinuxServer-CI
c0b66f3246 Bot Updating Templated Files
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-05-17 20:21:28 +00:00
LinuxServer-CI
9f8ec8013e Bot Updating Package Versions
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-05-15 23:44:54 +00:00
LinuxServer-CI
2a36656096 Bot Updating Package Versions 2025-05-14 18:52:15 +00:00
LinuxServer-CI
e92931416b Bot Updating Package Versions 2025-05-12 18:53:12 +00:00
Adam
6b64e1e967 Merge pull request #199 from linuxserver/ro-non-root 2025-05-12 17:04:31 +01:00
thespad
a7294dfb09 Don't try and enable sudo if ro/non-root even if set 2025-05-11 14:36:04 +01:00
thespad
a7e2b20ca2 Support ro/non-root 2025-05-11 14:33:51 +01:00
LinuxServer-CI
badac0c5f0 Bot Updating Package Versions
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-05-02 18:54:43 +00:00
LinuxServer-CI
e14c470234 Bot Updating Package Versions 2025-04-26 20:21:55 +00:00
LinuxServer-CI
ab481ce6bc Bot Updating Package Versions
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-04-17 18:51:55 +00:00
LinuxServer-CI
94234a1ca5 Bot Updating Package Versions 2025-04-11 18:53:40 +00:00
LinuxServer-CI
86f281df7f Bot Updating Package Versions
Some checks failed
Mark stale issues and pull requests / stale (push) Has been cancelled
External Trigger Scheduler / external-trigger-scheduler (push) Has been cancelled
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-04-08 21:43:40 +00:00
LinuxServer-CI
1a7ac378ce Bot Updating Package Versions 2025-04-08 02:17:06 +00:00
16 changed files with 128 additions and 79 deletions

0
.editorconfig Executable file → Normal file
View File

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

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

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

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

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

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

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

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

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

0
LICENSE Executable file → Normal file
View File

View File

@@ -78,6 +78,23 @@ 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.
@@ -147,6 +164,8 @@ Containers are configured using parameters passed at runtime (such as those abov
| `-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 |
| `-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)

View File

@@ -1,5 +1,5 @@
NAME VERSION TYPE NAME VERSION TYPE
@babel/runtime 7.25.7 npm @babel/runtime 7.27.0 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
@@ -16,27 +16,28 @@ NAME VERSION TYPE
@vscode/deviceid 0.1.1 npm @vscode/deviceid 0.1.1 npm
@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.10 npm @vscode/ripgrep 1.15.11 npm
@vscode/spdlog 0.15.1 npm @vscode/spdlog 0.15.1 npm
@vscode/tree-sitter-wasm 0.1.3 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.81 npm @xterm/addon-clipboard 0.2.0-beta.84 npm
@xterm/addon-image 0.9.0-beta.98 npm @xterm/addon-image 0.9.0-beta.101 npm
@xterm/addon-ligatures 0.10.0-beta.98 npm @xterm/addon-ligatures 0.10.0-beta.101 npm
@xterm/addon-progress 0.2.0-beta.4 npm @xterm/addon-progress 0.2.0-beta.7 npm
@xterm/addon-search 0.16.0-beta.98 npm @xterm/addon-search 0.16.0-beta.101 npm
@xterm/addon-serialize 0.14.0-beta.98 npm @xterm/addon-serialize 0.14.0-beta.101 npm
@xterm/addon-unicode11 0.9.0-beta.98 npm @xterm/addon-unicode11 0.9.0-beta.101 npm
@xterm/addon-webgl 0.19.0-beta.98 npm @xterm/addon-webgl 0.19.0-beta.101 npm
@xterm/headless 5.6.0-beta.98 npm @xterm/headless 5.6.0-beta.101 npm
@xterm/xterm 5.6.0-beta.98 npm @xterm/xterm 5.6.0-beta.101 npm
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
agent-base 6.0.2 npm agent-base 6.0.2 npm
agent-base 7.1.1 npm (+4 duplicates) agent-base 7.1.1 npm
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.7.14build2 deb apt 2.7.14build2 deb
@@ -74,8 +75,8 @@ 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.98.2 npm code-server 1.100.2 npm
code-server 4.98.2 npm code-server 4.100.2 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
@@ -121,7 +122,7 @@ detect-libc 2.0.1 npm
detect-libc 2.0.3 npm detect-libc 2.0.3 npm
diff 1.0.0 npm diff 1.0.0 npm
diffutils 1:3.10-1build1 deb diffutils 1:3.10-1build1 deb
dirmngr 2.4.4-2ubuntu17 deb dirmngr 2.4.4-2ubuntu17.2 deb
docker 1.0.0 npm docker 1.0.0 npm
dpkg 1.22.6ubuntu6.1 deb dpkg 1.22.6ubuntu6.1 deb
dunder-proto 1.0.1 npm dunder-proto 1.0.1 npm
@@ -158,7 +159,7 @@ forwarded 0.2.0 npm
fresh 0.5.2 npm fresh 0.5.2 npm
fresh 2.0.0 npm fresh 2.0.0 npm
fs-constants 1.0.0 npm fs-constants 1.0.0 npm
fs-extra 11.2.0 npm (+1 duplicate) fs-extra 11.2.0 npm
fs-minipass 2.1.0 npm fs-minipass 2.1.0 npm
fs.realpath 1.0.0 npm fs.realpath 1.0.0 npm
fsharp 1.0.0 npm fsharp 1.0.0 npm
@@ -168,7 +169,7 @@ gcc-14-base 14.2.0-4ubuntu2~24.04 deb
get-intrinsic 1.3.0 npm get-intrinsic 1.3.0 npm
get-proto 1.0.1 npm get-proto 1.0.1 npm
get-system-fonts 2.0.2 npm get-system-fonts 2.0.2 npm
get-uri 6.0.3 npm get-uri 6.0.4 npm
git 1.0.0 npm git 1.0.0 npm
git 1:2.43.0-1ubuntu7.2 deb git 1:2.43.0-1ubuntu7.2 deb
git-base 1.0.0 npm git-base 1.0.0 npm
@@ -177,18 +178,18 @@ github 0.0.1 npm
github-authentication 0.0.2 npm github-authentication 0.0.2 npm
github-from-package 0.0.0 npm github-from-package 0.0.0 npm
glob 7.2.3 npm glob 7.2.3 npm
gnupg 2.4.4-2ubuntu17 deb gnupg 2.4.4-2ubuntu17.2 deb
gnupg-l10n 2.4.4-2ubuntu17 deb gnupg-l10n 2.4.4-2ubuntu17.2 deb
gnupg-utils 2.4.4-2ubuntu17 deb gnupg-utils 2.4.4-2ubuntu17.2 deb
go 1.0.0 npm go 1.0.0 npm
gopd 1.2.0 npm gopd 1.2.0 npm
gpg 2.4.4-2ubuntu17 deb gpg 2.4.4-2ubuntu17.2 deb
gpg-agent 2.4.4-2ubuntu17 deb gpg-agent 2.4.4-2ubuntu17.2 deb
gpg-wks-client 2.4.4-2ubuntu17 deb gpg-wks-client 2.4.4-2ubuntu17.2 deb
gpgconf 2.4.4-2ubuntu17 deb gpgconf 2.4.4-2ubuntu17.2 deb
gpgsm 2.4.4-2ubuntu17 deb gpgsm 2.4.4-2ubuntu17.2 deb
gpgv 2.4.4-2ubuntu17 deb gpgv 2.4.4-2ubuntu17.2 deb
graceful-fs 4.2.11 npm (+1 duplicate) graceful-fs 4.2.11 npm
grep 3.11-4build1 deb grep 3.11-4build1 deb
groovy 1.0.0 npm groovy 1.0.0 npm
grunt 1.0.0 npm grunt 1.0.0 npm
@@ -209,7 +210,7 @@ http-proxy-agent 7.0.2 npm
httpolyglot 0.1.2 npm httpolyglot 0.1.2 npm
https-proxy-agent 5.0.1 npm https-proxy-agent 5.0.1 npm
https-proxy-agent 7.0.2 npm https-proxy-agent 7.0.2 npm
https-proxy-agent 7.0.5 npm (+1 duplicate) https-proxy-agent 7.0.6 npm (+1 duplicate)
i18next 23.16.4 npm i18next 23.16.4 npm
iconv-lite 0.5.2 npm iconv-lite 0.5.2 npm
iconv-lite 0.6.3 npm iconv-lite 0.6.3 npm
@@ -234,24 +235,24 @@ 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.97.1 npm js-debug 1.100.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)
jschardet 3.1.4 npm jschardet 3.1.4 npm
json 1.0.0 npm json 1.0.0 npm
json-language-features 1.0.0 npm json-language-features 1.0.0 npm
jsonfile 6.1.0 npm (+1 duplicate) jsonfile 6.1.0 npm
julia 1.0.0 npm 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 deb keyboxd 2.4.4-2ubuntu17.2 deb
krb5-locales 1.20.1-6ubuntu2.5 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.3 deb libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.4 deb
libapt-pkg6.0t64 2.7.14build2 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
@@ -275,7 +276,7 @@ libdb5.3t64 5.3.28+dfsg2-7 deb
libdebconfclient0 0.271ubuntu3 deb libdebconfclient0 0.271ubuntu3 deb
libedit2 3.1-20230828-1build1 deb libedit2 3.1-20230828-1build1 deb
liberror-perl 0.17029-2 deb liberror-perl 0.17029-2 deb
libexpat1 2.6.1-2ubuntu0.2 deb libexpat1 2.6.1-2ubuntu0.3 deb
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
libffi8 3.4.6-1build1 deb libffi8 3.4.6-1build1 deb
libfido2-1 1.14.0-1build3 deb libfido2-1 1.14.0-1build3 deb
@@ -298,7 +299,7 @@ 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
liblz4-1 1.9.4-1build1.1 deb liblz4-1 1.9.4-1build1.1 deb
liblzma5 5.6.1+really5.4.5-1build0.1 deb liblzma5 5.6.1+really5.4.5-1ubuntu0.2 deb
libmd0 1.1.0-2build1.1 deb libmd0 1.1.0-2build1.1 deb
libmount1 2.39.3-9ubuntu6.2 deb libmount1 2.39.3-9ubuntu6.2 deb
libncursesw6 6.4+20240113-1ubuntu2 deb libncursesw6 6.4+20240113-1ubuntu2 deb
@@ -312,7 +313,7 @@ libpam-modules-bin 1.5.3-5ubuntu5.1 deb
libpam-runtime 1.5.3-5ubuntu5.1 deb libpam-runtime 1.5.3-5ubuntu5.1 deb
libpam0g 1.5.3-5ubuntu5.1 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.2build2.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
libpsl5t64 0.21.2-1.1build1 deb libpsl5t64 0.21.2-1.1build1 deb
libreadline8t64 8.2-4build1 deb libreadline8t64 8.2-4build1 deb
@@ -396,12 +397,12 @@ 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 20.18.2 binary node 20.19.0 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
node-fetch 2.7.0 npm node-fetch 2.7.0 npm
node-pty 1.1.0-beta31 npm node-pty 1.1.0-beta33 npm
nopt 5.0.0 npm nopt 5.0.0 npm
npm 1.0.1 npm npm 1.0.1 npm
npmlog 5.0.1 npm npmlog 5.0.1 npm
@@ -412,11 +413,11 @@ 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.9 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
pac-proxy-agent 7.0.2 npm pac-proxy-agent 7.2.0 npm
pac-resolver 7.0.1 npm pac-resolver 7.0.1 npm
parseurl 1.3.3 npm parseurl 1.3.3 npm
passwd 1:4.13+dfsg1-4ubuntu3.2 deb passwd 1:4.13+dfsg1-4ubuntu3.2 deb
@@ -426,9 +427,9 @@ path-to-regexp 8.2.0 npm
pem 1.14.8 npm pem 1.14.8 npm
pend 1.2.0 npm pend 1.2.0 npm
perl 1.0.0 npm perl 1.0.0 npm
perl 5.38.2-3.2build2.1 deb perl 5.38.2-3.2ubuntu0.1 deb
perl-base 5.38.2-3.2build2.1 deb perl-base 5.38.2-3.2ubuntu0.1 deb
perl-modules-5.38 5.38.2-3.2build2.1 deb perl-modules-5.38 5.38.2-3.2ubuntu0.1 deb
php 1.0.0 npm php 1.0.0 npm
php-language-features 1.0.0 npm php-language-features 1.0.0 npm
picomatch 2.3.1 npm picomatch 2.3.1 npm
@@ -437,8 +438,9 @@ 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.4.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)
publicsuffix 20231001.0357-0.1 deb publicsuffix 20231001.0357-0.1 deb
pug 1.0.0 npm pug 1.0.0 npm
@@ -488,8 +490,10 @@ simple-browser 1.0.0 npm
simple-concat 1.0.1 npm simple-concat 1.0.1 npm
simple-get 4.0.1 npm simple-get 4.0.1 npm
smart-buffer 4.2.0 npm (+1 duplicate) smart-buffer 4.2.0 npm (+1 duplicate)
socks 2.8.3 npm (+1 duplicate) socks 2.8.3 npm
socks-proxy-agent 8.0.4 npm (+1 duplicate) socks 2.8.4 npm
socks-proxy-agent 8.0.4 npm
socks-proxy-agent 8.0.5 npm
source-map 0.6.1 npm source-map 0.6.1 npm
sprintf-js 1.1.3 npm (+1 duplicate) sprintf-js 1.1.3 npm (+1 duplicate)
sql 1.0.0 npm sql 1.0.0 npm
@@ -504,7 +508,7 @@ 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.1 npm tar-fs 2.1.2 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
@@ -528,12 +532,12 @@ 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.2 npm typescript 5.8.3 npm
typescript-language-features 1.0.0 npm typescript-language-features 1.0.0 npm
tzdata 2025a-0ubuntu0.24.04 deb tzdata 2025b-0ubuntu0.24.04 deb
ubuntu-keyring 2023.11.28.1 deb ubuntu-keyring 2023.11.28.1 deb
undici 7.3.0 npm undici 7.3.0 npm
universalify 2.0.1 npm (+1 duplicate) 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
util-deprecate 1.0.2 npm (+1 duplicate) util-deprecate 1.0.2 npm (+1 duplicate)

View File

@@ -36,6 +36,13 @@ 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"}
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: |
@@ -73,12 +80,14 @@ 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

View File

@@ -3,7 +3,8 @@
mkdir -p /config/{extensions,data,workspace,.ssh} mkdir -p /config/{extensions,data,workspace,.ssh}
if [[ -n "${SUDO_PASSWORD}" ]] || [[ -n "${SUDO_PASSWORD_HASH}" ]]; then if [[ -z ${LSIO_NON_ROOT_USER} ]] && [[ -z ${LSIO_READ_ONLY_FS} ]]; 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"
@@ -16,6 +17,7 @@ if [[ -n "${SUDO_PASSWORD}" ]] || [[ -n "${SUDO_PASSWORD_HASH}" ]]; then
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
if [[ ! -f /config/.bashrc ]]; then if [[ ! -f /config/.bashrc ]]; then
@@ -26,17 +28,19 @@ if [[ ! -f /config/.profile ]]; then
cp /root/.profile /config/.profile cp /root/.profile /config/.profile
fi fi
# fix permissions (ignore contents of workspace) if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
PUID=${PUID:-911} # fix permissions (ignore contents of workspace)
if [[ ! "$(stat -c %u /config/.profile)" == "${PUID}" ]]; then PUID=${PUID:-911}
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,7 +14,8 @@ else
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}" PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
fi fi
exec \ if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \ s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
s6-setuidgid abc \ s6-setuidgid abc \
/app/code-server/bin/code-server \ /app/code-server/bin/code-server \
@@ -25,3 +26,15 @@ exec \
--auth "${AUTH}" \ --auth "${AUTH}" \
"${PROXY_DOMAIN_ARG}" \ "${PROXY_DOMAIN_ARG}" \
"${DEFAULT_WORKSPACE:-/config/workspace}" "${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 \
--bind-addr 0.0.0.0:8443 \
--user-data-dir /config/data \
--extensions-dir /config/extensions \
--disable-telemetry \
--auth "${AUTH}" \
"${PROXY_DOMAIN_ARG}" \
"${DEFAULT_WORKSPACE:-/config/workspace}"
fi