Compare commits

...

29 Commits

Author SHA1 Message Date
LinuxServer-CI
0479e81563
Bot Updating Package Versions
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
External Trigger Scheduler / external-trigger-scheduler (push) Has been cancelled
2025-06-25 21:46:38 +00:00
LinuxServer-CI
e204bcaef6
Bot Updating Package Versions 2025-06-21 03:36:10 +00:00
LinuxServer-CI
0e1e48d5cd
Bot Updating Package Versions 2025-06-20 21:44:33 +00:00
LinuxServer-CI
455407219e
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-06-14 20:26:33 +00:00
LinuxServer-CI
9d79e61c06
Bot Updating Templated Files 2025-06-14 20:22:00 +00:00
LinuxServer-CI
87f961f038
Bot Updating Package Versions
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-06-07 20:23:08 +00:00
LinuxServer-CI
6bd0ebb31e
Bot Updating Package Versions
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-06-03 21:44:23 +00:00
LinuxServer-CI
9d95aadf89
Bot Updating Templated Files 2025-06-03 13:43:26 +00:00
Roxedus
8c14b46231
Merge pull request #200 from ajain-93/add-pwa-name 2025-06-03 15:41:54 +02:00
Arnav Jain
8c12be9378
Update readme-vars.yml 2025-06-03 15:27:13 +02:00
Arnav Jain
a0a1ba58ee
add support for changing PWA name
if environment variable `PWA_APPNAME` is set, then this value is used for the name of the PWA app.
2025-06-03 15:22:45 +02:00
LinuxServer-CI
f58e3ebccc
Bot Updating Package Versions 2025-05-31 20:22:57 +00:00
LinuxServer-CI
eeb8afd54d
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-05-24 20:26:55 +00:00
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
LinuxServer-CI
18bb3a0a15
Bot Updating Package Versions 2025-04-05 20:22:01 +00:00
LinuxServer-CI
872ad28cf9
Bot Updating Package Versions
Some checks failed
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
2025-03-29 20:21:31 +00:00
LinuxServer-CI
9ff9e0e278
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-03-22 20:22:45 +00:00
17 changed files with 163 additions and 102 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

2
Jenkinsfile vendored
View File

@ -780,7 +780,7 @@ pipeline {
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v ${TEMPDIR}:/tmp \
ghcr.io/anchore/syft:latest \
ghcr.io/anchore/syft:v1.26.1 \
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
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"

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).
## 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
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
@ -103,6 +120,7 @@ services:
- SUDO_PASSWORD_HASH= #optional
- PROXY_DOMAIN=code-server.my.domain #optional
- DEFAULT_WORKSPACE=/config/workspace #optional
- PWA_APPNAME=code-server #optional
volumes:
- /path/to/code-server/config:/config
ports:
@ -124,6 +142,7 @@ docker run -d \
-e SUDO_PASSWORD_HASH= `#optional` \
-e PROXY_DOMAIN=code-server.my.domain `#optional` \
-e DEFAULT_WORKSPACE=/config/workspace `#optional` \
-e PWA_APPNAME=code-server `#optional` \
-p 8443:8443 \
-v /path/to/code-server/config:/config \
--restart unless-stopped \
@ -146,7 +165,10 @@ 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 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 PWA_APPNAME=code-server` | If this optional variable is set, the PWA app will the specified name. |
| `-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)
@ -310,6 +332,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## 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.
* **09.10.24:** - Manage permissions in /config/.ssh according to file type
* **19.08.24:** - Rebase to Ubuntu Noble.

View File

@ -1,5 +1,5 @@
NAME VERSION TYPE
@babel/runtime 7.25.7 npm
@babel/runtime 7.27.0 npm
@coder/logger 3.0.1 npm
@mapbox/node-pre-gyp 1.0.11 npm
@microsoft/1ds-core-js 3.2.13 npm
@ -16,32 +16,33 @@ NAME VERSION TYPE
@vscode/deviceid 0.1.1 npm
@vscode/iconv-lite-umd 0.7.0 npm
@vscode/proxy-agent 0.32.0 npm
@vscode/ripgrep 1.15.10 npm
@vscode/spdlog 0.15.1 npm
@vscode/tree-sitter-wasm 0.1.3 npm
@vscode/ripgrep 1.15.11 npm
@vscode/spdlog 0.15.2 npm
@vscode/tree-sitter-wasm 0.1.4 npm
@vscode/vscode-languagedetection 1.0.21 npm
@vscode/windows-process-tree 0.6.0 npm
@vscode/windows-registry 1.1.0 npm
@xterm/addon-clipboard 0.2.0-beta.81 npm
@xterm/addon-image 0.9.0-beta.98 npm
@xterm/addon-ligatures 0.10.0-beta.98 npm
@xterm/addon-progress 0.2.0-beta.4 npm
@xterm/addon-search 0.16.0-beta.98 npm
@xterm/addon-serialize 0.14.0-beta.98 npm
@xterm/addon-unicode11 0.9.0-beta.98 npm
@xterm/addon-webgl 0.19.0-beta.98 npm
@xterm/headless 5.6.0-beta.98 npm
@xterm/xterm 5.6.0-beta.98 npm
OpenConsole.exe 1.22.250204002 dotnet (+1 duplicate)
@xterm/addon-clipboard 0.2.0-beta.90 npm
@xterm/addon-image 0.9.0-beta.107 npm
@xterm/addon-ligatures 0.10.0-beta.107 npm
@xterm/addon-progress 0.2.0-beta.13 npm
@xterm/addon-search 0.16.0-beta.107 npm
@xterm/addon-serialize 0.14.0-beta.107 npm
@xterm/addon-unicode11 0.9.0-beta.107 npm
@xterm/addon-webgl 0.19.0-beta.107 npm
@xterm/headless 5.6.0-beta.107 npm
@xterm/xterm 5.6.0-beta.107 npm
OpenConsole.exe 1.22.250204002 binary (+1 duplicate)
abbrev 1.1.1 npm
accepts 2.0.0 npm
adduser 3.137ubuntu1 deb
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
aproba 2.0.0 npm
apt 2.7.14build2 deb
apt-utils 2.7.14build2 deb
apt 2.8.3 deb
apt-utils 2.8.3 deb
are-we-there-yet 2.0.0 npm
argon2 0.31.2 npm
argparse 2.0.1 npm
@ -57,7 +58,7 @@ beep-boop 1.2.3 npm
bindings 1.5.0 npm
bl 4.1.0 npm
body-parser 2.1.0 npm
brace-expansion 1.1.11 npm
brace-expansion 1.1.12 npm
braces 3.0.3 npm
bsdutils 1:2.39.3-9ubuntu6.2 deb
buffer 5.7.1 npm
@ -75,15 +76,15 @@ charenc 0.0.2 npm
chownr 1.1.4 npm
chownr 2.0.0 npm
clojure 1.0.0 npm
code-server 1.98.2 npm
code-server 4.98.2 npm
code-server 1.101.2 npm
code-server 4.101.2 npm
coffeescript 1.0.0 npm
color-support 1.1.3 npm
compressible 2.0.18 npm
compression 1.8.0 npm
concat-map 0.0.1 npm
configuration-editing 1.0.0 npm
conpty.dll 1.22.250204002 dotnet (+1 duplicate)
conpty.dll 1.22.250204002 binary (+1 duplicate)
console-control-strings 1.1.0 npm
content-disposition 1.0.0 npm
content-type 1.0.5 npm
@ -123,7 +124,7 @@ detect-libc 2.0.1 npm
detect-libc 2.0.3 npm
diff 1.0.0 npm
diffutils 1:3.10-1build1 deb
dirmngr 2.4.4-2ubuntu17 deb
dirmngr 2.4.4-2ubuntu17.2 deb
docker 1.0.0 npm
dpkg 1.22.6ubuntu6.1 deb
dunder-proto 1.0.1 npm
@ -160,7 +161,7 @@ forwarded 0.2.0 npm
fresh 0.5.2 npm
fresh 2.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.realpath 1.0.0 npm
fsharp 1.0.0 npm
@ -170,7 +171,7 @@ gcc-14-base 14.2.0-4ubuntu2~24.04 deb
get-intrinsic 1.3.0 npm
get-proto 1.0.1 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:2.43.0-1ubuntu7.2 deb
git-base 1.0.0 npm
@ -179,18 +180,18 @@ github 0.0.1 npm
github-authentication 0.0.2 npm
github-from-package 0.0.0 npm
glob 7.2.3 npm
gnupg 2.4.4-2ubuntu17 deb
gnupg-l10n 2.4.4-2ubuntu17 deb
gnupg-utils 2.4.4-2ubuntu17 deb
gnupg 2.4.4-2ubuntu17.2 deb
gnupg-l10n 2.4.4-2ubuntu17.2 deb
gnupg-utils 2.4.4-2ubuntu17.2 deb
go 1.0.0 npm
gopd 1.2.0 npm
gpg 2.4.4-2ubuntu17 deb
gpg-agent 2.4.4-2ubuntu17 deb
gpg-wks-client 2.4.4-2ubuntu17 deb
gpgconf 2.4.4-2ubuntu17 deb
gpgsm 2.4.4-2ubuntu17 deb
gpgv 2.4.4-2ubuntu17 deb
graceful-fs 4.2.11 npm (+1 duplicate)
gpg 2.4.4-2ubuntu17.2 deb
gpg-agent 2.4.4-2ubuntu17.2 deb
gpg-wks-client 2.4.4-2ubuntu17.2 deb
gpgconf 2.4.4-2ubuntu17.2 deb
gpgsm 2.4.4-2ubuntu17.2 deb
gpgv 2.4.4-2ubuntu17.2 deb
graceful-fs 4.2.11 npm
grep 3.11-4build1 deb
groovy 1.0.0 npm
grunt 1.0.0 npm
@ -211,7 +212,7 @@ http-proxy-agent 7.0.2 npm
httpolyglot 0.1.2 npm
https-proxy-agent 5.0.1 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
iconv-lite 0.5.2 npm
iconv-lite 0.6.3 npm
@ -236,25 +237,25 @@ java 1.0.0 npm
javascript 1.0.0 npm
jq 1.7.1-3build1 deb
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-yaml 4.1.0 npm
jsbn 1.1.0 npm (+1 duplicate)
jschardet 3.1.4 npm
json 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
just-performance 4.3.0 npm
kerberos 2.1.1 npm
keyboxd 2.4.4-2ubuntu17 deb
krb5-locales 1.20.1-6ubuntu2.5 deb
keyboxd 2.4.4-2ubuntu17.2 deb
krb5-locales 1.20.1-6ubuntu2.6 deb
latex 1.0.0 npm
less 1.0.0 npm
less 590-2ubuntu2.1 deb
libacl1 2.3.2-1build1.1 deb
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.3 deb
libapt-pkg6.0t64 2.7.14build2 deb
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.4 deb
libapt-pkg6.0t64 2.8.3 deb
libassuan0 2.5.6-1build1 deb
libatomic1 14.2.0-4ubuntu2~24.04 deb
libattr1 1:2.5.2-1build1.1 deb
@ -277,7 +278,7 @@ libdb5.3t64 5.3.28+dfsg2-7 deb
libdebconfclient0 0.271ubuntu3 deb
libedit2 3.1-20230828-1build1 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
libffi8 3.4.6-1build1 deb
libfido2-1 1.14.0-1build3 deb
@ -288,19 +289,19 @@ libgdbm6t64 1.23-5.1build1 deb
libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb
libgnutls30t64 3.8.3-1.1ubuntu3.3 deb
libgpg-error0 1.47-3build2.1 deb
libgssapi-krb5-2 1.20.1-6ubuntu2.5 deb
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb
libhogweed6t64 3.9.1-2.2build1.1 deb
libidn2-0 2.3.7-2build1.1 deb
libjq1 1.7.1-3build1 deb
libk5crypto3 1.20.1-6ubuntu2.5 deb
libk5crypto3 1.20.1-6ubuntu2.6 deb
libkeyutils1 1.6.3-3build1 deb
libkrb5-3 1.20.1-6ubuntu2.5 deb
libkrb5support0 1.20.1-6ubuntu2.5 deb
libkrb5-3 1.20.1-6ubuntu2.6 deb
libkrb5support0 1.20.1-6ubuntu2.6 deb
libksba8 1.6.6-1build1 deb
libldap-common 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
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
libmount1 2.39.3-9ubuntu6.2 deb
libncursesw6 6.4+20240113-1ubuntu2 deb
@ -309,12 +310,12 @@ libnghttp2-14 1.59.0-1ubuntu0.2 deb
libnpth0t64 1.6-3.1build1 deb
libonig5 6.9.9-1build1 deb
libp11-kit0 0.25.3-4ubuntu2.1 deb
libpam-modules 1.5.3-5ubuntu5.1 deb
libpam-modules-bin 1.5.3-5ubuntu5.1 deb
libpam-runtime 1.5.3-5ubuntu5.1 deb
libpam0g 1.5.3-5ubuntu5.1 deb
libpam-modules 1.5.3-5ubuntu5.4 deb
libpam-modules-bin 1.5.3-5ubuntu5.4 deb
libpam-runtime 1.5.3-5ubuntu5.4 deb
libpam0g 1.5.3-5ubuntu5.4 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
libpsl5t64 0.21.2-1.1build1 deb
libreadline8t64 8.2-4build1 deb
@ -328,15 +329,15 @@ libsemanage-common 3.5-1build5 deb
libsemanage2 3.5-1build5 deb
libsepol2 3.5-2build1 deb
libsmartcols1 2.39.3-9ubuntu6.2 deb
libsqlite3-0 3.45.1-1ubuntu2.1 deb
libsqlite3-0 3.45.1-1ubuntu2.3 deb
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
libssh-4 0.10.6-2build2 deb
libssl3t64 3.0.13-0ubuntu3.5 deb
libstdc++6 14.2.0-4ubuntu2~24.04 deb
libsystemd0 255.4-1ubuntu8.5 deb
libsystemd0 255.4-1ubuntu8.8 deb
libtasn1-6 4.19.0-3ubuntu0.24.04.1 deb
libtinfo6 6.4+20240113-1ubuntu2 deb
libudev1 255.4-1ubuntu8.5 deb
libudev1 255.4-1ubuntu8.8 deb
libunistring5 1.1-2build1.1 deb
libuuid1 2.39.3-9ubuntu6.2 deb
libx11-6 2:1.8.7-1build1 deb
@ -394,16 +395,16 @@ ncurses-base 6.4+20240113-1ubuntu2 deb
ncurses-bin 6.4+20240113-1ubuntu2 deb
negotiator 0.6.4 npm
negotiator 1.0.0 npm
net-tools 2.10-0.1ubuntu4 deb
net-tools 2.10-0.1ubuntu4.4 deb
netbase 6.4 deb
netcat-openbsd 1.226-1ubuntu2 deb
netmask 2.0.2 npm
node 20.18.2 binary
node 22.15.1 binary
node-abi 3.8.0 npm
node-addon-api 7.1.0 npm
node-addon-api 7.1.1 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
npm 1.0.1 npm
npmlog 5.0.1 npm
@ -414,11 +415,11 @@ objective-c 1.0.0 npm
on-finished 2.4.1 npm
on-headers 1.0.2 npm
once 1.4.0 npm (+1 duplicate)
openssh-client 1:9.6p1-3ubuntu13.8 deb
openssh-client 1:9.6p1-3ubuntu13.12 deb
openssl 3.0.13-0ubuntu3.5 deb
opentype.js 0.8.0 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
parseurl 1.3.3 npm
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
@ -428,9 +429,9 @@ path-to-regexp 8.2.0 npm
pem 1.14.8 npm
pend 1.2.0 npm
perl 1.0.0 npm
perl 5.38.2-3.2build2.1 deb
perl-base 5.38.2-3.2build2.1 deb
perl-modules-5.38 5.38.2-3.2build2.1 deb
perl 5.38.2-3.2ubuntu0.1 deb
perl-base 5.38.2-3.2ubuntu0.1 deb
perl-modules-5.38 5.38.2-3.2ubuntu0.1 deb
php 1.0.0 npm
php-language-features 1.0.0 npm
picomatch 2.3.1 npm
@ -439,8 +440,9 @@ powershell 1.0.0 npm
prebuild-install 7.1.2 npm
procps 2:4.0.4-4ubuntu3.2 deb
promise-stream-reader 1.0.1 npm
prompt 1.0.0 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)
publicsuffix 20231001.0357-0.1 deb
pug 1.0.0 npm
@ -490,8 +492,10 @@ simple-browser 1.0.0 npm
simple-concat 1.0.1 npm
simple-get 4.0.1 npm
smart-buffer 4.2.0 npm (+1 duplicate)
socks 2.8.3 npm (+1 duplicate)
socks-proxy-agent 8.0.4 npm (+1 duplicate)
socks 2.8.3 npm
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
sprintf-js 1.1.3 npm (+1 duplicate)
sql 1.0.0 npm
@ -502,11 +506,11 @@ strip-ansi 6.0.1 npm
strip-json-comments 2.0.1 npm
sudo 1.9.15p5-3ubuntu5 deb
swift 1.0.0 npm
systemd-standalone-sysusers 255.4-1ubuntu8.5 deb
systemd-standalone-sysusers 255.4-1ubuntu8.8 deb
sysvinit-utils 3.08-6ubuntu3 deb
tar 1.35+dfsg-3build1 deb
tar 6.2.1 npm
tar-fs 2.1.1 npm
tar-fs 2.1.2 npm
tar-stream 2.2.0 npm
tas-client-umd 0.2.0 npm
terminal-suggest 1.0.1 npm
@ -530,12 +534,12 @@ tunnel-agent 0.6.0 npm
tunnel-forwarding 1.0.0 npm
type-is 2.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
tzdata 2024b-0ubuntu0.24.04.1 deb
tzdata 2025b-0ubuntu0.24.04.1 deb
ubuntu-keyring 2023.11.28.1 deb
undici 7.3.0 npm
universalify 2.0.1 npm (+1 duplicate)
undici 7.9.0 npm
universalify 2.0.1 npm
unminimize 0.2.1 deb
unpipe 1.0.0 npm
util-deprecate 1.0.2 npm (+1 duplicate)

View File

@ -36,6 +36,14 @@ 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: "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: "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
app_setup_block_enabled: true
app_setup_block: |
@ -73,12 +81,14 @@ init_diagram: |
init-crontab-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-custom-files -> init-services
init-services -> svc-code-server
@ -92,6 +102,7 @@ init_diagram: |
"code-server:latest" <- Base Images
# changelog
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: "09.10.24:", desc: "Manage permissions in /config/.ssh according to file type"}
- {date: "19.08.24:", desc: "Rebase to Ubuntu Noble."}

View File

@ -3,18 +3,20 @@
mkdir -p /config/{extensions,data,workspace,.ssh}
if [[ -n "${SUDO_PASSWORD}" ]] || [[ -n "${SUDO_PASSWORD_HASH}" ]]; then
echo "setting up sudo access"
if ! grep -q 'abc' /etc/sudoers; then
echo "adding abc to sudoers"
echo "abc ALL=(ALL:ALL) ALL" >> /etc/sudoers
fi
if [[ -n "${SUDO_PASSWORD_HASH}" ]]; then
echo "setting sudo password using sudo password hash"
sed -i "s|^abc:\!:|abc:${SUDO_PASSWORD_HASH}:|" /etc/shadow
else
echo "setting sudo password using SUDO_PASSWORD env var"
echo -e "${SUDO_PASSWORD}\n${SUDO_PASSWORD}" | passwd abc
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"
if ! grep -q 'abc' /etc/sudoers; then
echo "adding abc to sudoers"
echo "abc ALL=(ALL:ALL) ALL" >> /etc/sudoers
fi
if [[ -n "${SUDO_PASSWORD_HASH}" ]]; then
echo "setting sudo password using sudo password hash"
sed -i "s|^abc:\!:|abc:${SUDO_PASSWORD_HASH}:|" /etc/shadow
else
echo "setting sudo password using SUDO_PASSWORD env var"
echo -e "${SUDO_PASSWORD}\n${SUDO_PASSWORD}" | passwd abc
fi
fi
fi
@ -26,17 +28,19 @@ if [[ ! -f /config/.profile ]]; then
cp /root/.profile /config/.profile
fi
# fix permissions (ignore contents of workspace)
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 "This could take some time"
find /config -path "/config/workspace" -prune -o -exec lsiown abc:abc {} +
lsiown abc:abc /config/workspace
fi
chmod 700 /config/.ssh
if [[ -n "$(ls -A /config/.ssh)" ]]; then
find /config/.ssh/ -type d -exec chmod 700 '{}' \;
find /config/.ssh/ -type f -exec chmod 600 '{}' \;
find /config/.ssh/ -type f -iname '*.pub' -exec chmod 644 '{}' \;
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
# fix permissions (ignore contents of workspace)
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 "This could take some time"
find /config -path "/config/workspace" -prune -o -exec lsiown abc:abc {} +
lsiown abc:abc /config/workspace
fi
chmod 700 /config/.ssh
if [[ -n "$(ls -A /config/.ssh)" ]]; then
find /config/.ssh/ -type d -exec chmod 700 '{}' \;
find /config/.ssh/ -type f -exec chmod 600 '{}' \;
find /config/.ssh/ -type f -iname '*.pub' -exec chmod 644 '{}' \;
fi
fi

View File

@ -14,14 +14,33 @@ else
PROXY_DOMAIN_ARG="--proxy-domain=${PROXY_DOMAIN}"
fi
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8443" \
s6-setuidgid abc \
if [[ -z ${PWA_APPNAME} ]]; then
PWA_APPNAME="code-server"
fi
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 \
--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}"
fi