From 1ba6d378f250388ad4924b9c4808852227381bd9 Mon Sep 17 00:00:00 2001 From: aptalca Date: Wed, 3 Aug 2022 10:03:18 -0400 Subject: [PATCH 1/2] switch to hybrid --- README.md | 8 +++++--- .../dependencies.d/init-mods-package-install | 0 .../run | 19 +++++++++++++++++++ .../type | 1 + .../init-mod-code-server-npmglobal-install/up | 1 + .../init-mod-code-server-npmglobal-install | 0 .../init-mod-code-server-npmglobal-install | 0 7 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/dependencies.d/init-mods-package-install create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-code-server-npmglobal-install create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-code-server-npmglobal-install diff --git a/README.md b/README.md index b296ce3..9b0d50b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ -# NPM Global - Docker mod for code-server +# NPM Global - Docker mod for code-server/openvscode-server -This mod sets the NPM global folder to `/config` in code-server during container start. +This mod sets the NPM global folder to `/config` in code-server/openvscode-server during container start. -In code-server docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:code-server-npmglobal` +In code-server/openvscode-server docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:code-server-npmglobal` If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:code-server-nodejs|linuxserver/mods:code-server-npmglobal` + +**This mod requires npm installed via a different mod** diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/dependencies.d/init-mods-package-install b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/dependencies.d/init-mods-package-install new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run new file mode 100755 index 0000000..9b6eba1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run @@ -0,0 +1,19 @@ +#!/usr/bin/with-contenv bash + +# check npm exists +if [ -f /usr/bin/npm ]; then + echo "creating npm global folder in /config" + mkdir -p /config/npm-global + + echo "setting npm to global folder in /config" + npm config set prefix '/config/npm-global' + + if grep -q "/config/npm-global/bin" "/etc/services.d/code-server/run"; then + echo "npm-global already in PATH" + else + echo "ensuring npm-global is in PATH" + sed -i '/^#!\/usr\/bin/a \\n# Added by codeserver-npmglobal\nexport PATH=/config/npm-global/bin:$PATH' /etc/services.d/code-server/run + fi +else + echo "**** npm not installed, skipping npmglobal install ****" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type new file mode 100644 index 0000000..6b7dd2b --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type @@ -0,0 +1 @@ +onehsot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/up b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/up new file mode 100644 index 0000000..454d4e7 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-code-server-npmglobal-install b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-code-server-npmglobal-install new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-code-server-npmglobal-install b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-code-server-npmglobal-install new file mode 100644 index 0000000..e69de29 From 6323d600a365da9cd1f50d3362b8a3477956a4ba Mon Sep 17 00:00:00 2001 From: aptalca Date: Sun, 4 Sep 2022 17:28:14 -0400 Subject: [PATCH 2/2] fix typo --- .../s6-rc.d/init-mod-code-server-npmglobal-install/type | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type index 6b7dd2b..3d92b15 100644 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-npmglobal-install/type @@ -1 +1 @@ -onehsot \ No newline at end of file +oneshot \ No newline at end of file