From aef3a72acc25816f3823478769640665de99bd62 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 23 Sep 2022 19:21:27 +0100 Subject: [PATCH] Migrate to s6v3 --- Dockerfile | 3 ++- Dockerfile.aarch64 | 3 ++- Dockerfile.armhf | 2 +- README.md | 1 + readme-vars.yml | 1 + .../dependencies.d/init-config-kasm | 0 .../dependencies.d/init-config | 0 .../s6-rc.d/init-config-kasm/run} | 0 .../s6-overlay/s6-rc.d/init-config-kasm/type | 1 + .../s6-overlay/s6-rc.d/init-config-kasm/up | 1 + .../s6-rc.d/user/contents.d/init-config-kasm | 0 root/etc/cont-init.d/30-setup | 20 ------------------- .../dependencies.d/init-config-kasm | 0 .../dependencies.d/init-config | 0 .../s6-overlay/s6-rc.d/init-config-kasm/run | 20 +++++++++++++++++++ .../s6-overlay/s6-rc.d/init-config-kasm/type | 1 + .../s6-overlay/s6-rc.d/init-config-kasm/up | 1 + .../dependencies.d/init-config-kasm | 0 .../svc-docker/dependencies.d/init-services | 0 root/etc/s6-overlay/s6-rc.d/svc-docker/run | 14 +++++++++++++ root/etc/s6-overlay/s6-rc.d/svc-docker/type | 1 + .../dependencies.d/init-config-kasm | 0 .../dependencies.d/init-services | 0 .../s6-rc.d/svc-kasm-wizard}/run | 10 +++++----- .../s6-overlay/s6-rc.d/svc-kasm-wizard/type | 1 + .../s6-rc.d/user/contents.d/init-config-kasm | 0 .../s6-rc.d/user/contents.d/svc-docker | 0 .../s6-rc.d/user/contents.d/svc-kasm-wizard | 0 root/etc/services.d/docker/run | 14 ------------- 29 files changed, 52 insertions(+), 42 deletions(-) create mode 100644 root-armhf/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-config-kasm create mode 100644 root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/dependencies.d/init-config rename root-armhf/etc/{cont-init.d/30-disabled => s6-overlay/s6-rc.d/init-config-kasm/run} (100%) mode change 100644 => 100755 create mode 100644 root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/type create mode 100644 root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/up create mode 100644 root-armhf/etc/s6-overlay/s6-rc.d/user/contents.d/init-config-kasm delete mode 100644 root/etc/cont-init.d/30-setup create mode 100644 root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-config-kasm create mode 100644 root/etc/s6-overlay/s6-rc.d/init-config-kasm/dependencies.d/init-config create mode 100755 root/etc/s6-overlay/s6-rc.d/init-config-kasm/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-config-kasm/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-config-kasm/up create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-docker/dependencies.d/init-config-kasm create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-docker/dependencies.d/init-services create mode 100755 root/etc/s6-overlay/s6-rc.d/svc-docker/run create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-docker/type create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/dependencies.d/init-config-kasm create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/dependencies.d/init-services rename root/etc/{services.d/wizard => s6-overlay/s6-rc.d/svc-kasm-wizard}/run (66%) create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/type create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-config-kasm create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-docker create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-kasm-wizard delete mode 100755 root/etc/services.d/docker/run diff --git a/Dockerfile b/Dockerfile index b08c896..d2f9b12 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:3.16-fb0ed076-ls25 +FROM ghcr.io/linuxserver/baseimage-alpine:3.16 # set version label ARG BUILD_DATE @@ -9,6 +9,7 @@ LABEL maintainer="thelamer" # Env ENV DOCKER_TLS_CERTDIR="" +ENV TINI_SUBREAPER=true # Container setup RUN \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index d0a13d2..71edbdc 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,4 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.16-fb0ed076-ls25 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.16 # set version label ARG BUILD_DATE @@ -9,6 +9,7 @@ LABEL maintainer="thelamer" # Env ENV DOCKER_TLS_CERTDIR="" +ENV TINI_SUBREAPER=true # Container setup RUN \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 5e25045..ad72591 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,4 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.16-fb0ed076-ls25 +FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.16 # set version label ARG BUILD_DATE diff --git a/README.md b/README.md index d814f01..c343fb2 100644 --- a/README.md +++ b/README.md @@ -241,4 +241,5 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **23.09.22:** - Migrate to s6v3. * **02.07.22:** - Initial Release. diff --git a/readme-vars.yml b/readme-vars.yml index e1f1428..d2a569c 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -91,4 +91,5 @@ app_setup_block: | # changelog changelogs: + - { date: "23.09.22:", desc: "Migrate to s6v3." } - { date: "02.07.22:", desc: "Initial Release." } diff --git a/root-armhf/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-config-kasm b/root-armhf/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-config-kasm new file mode 100644 index 0000000..e69de29 diff --git a/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/dependencies.d/init-config b/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/dependencies.d/init-config new file mode 100644 index 0000000..e69de29 diff --git a/root-armhf/etc/cont-init.d/30-disabled b/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/run old mode 100644 new mode 100755 similarity index 100% rename from root-armhf/etc/cont-init.d/30-disabled rename to root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/run diff --git a/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/type b/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/type @@ -0,0 +1 @@ +oneshot diff --git a/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/up b/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/up new file mode 100644 index 0000000..cd5b530 --- /dev/null +++ b/root-armhf/etc/s6-overlay/s6-rc.d/init-config-kasm/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-config-kasm/run diff --git a/root-armhf/etc/s6-overlay/s6-rc.d/user/contents.d/init-config-kasm b/root-armhf/etc/s6-overlay/s6-rc.d/user/contents.d/init-config-kasm new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/cont-init.d/30-setup b/root/etc/cont-init.d/30-setup deleted file mode 100644 index 19f227a..0000000 --- a/root/etc/cont-init.d/30-setup +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/with-contenv bash - -# Create directories -if [ ! -d "/opt/docker" ]; then - mkdir -p /opt/docker -fi - -# Login to Dockerhub -if [ ! -z "${DOCKER_HUB_USERNAME}" ]; then - docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD -fi - -# Generate self cert for wizard -if [ ! -f "/opt/kasm/certs/kasm_wizard.crt" ]; then - mkdir -p /opt/kasm/certs - openssl req -x509 -nodes -days 1825 -newkey rsa:2048 \ - -keyout /opt/kasm/certs/kasm_wizard.key \ - -out /opt/kasm/certs/kasm_wizard.crt \ - -subj "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=$(hostname)/emailAddress=none@none.none" -fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-config-kasm b/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-config-kasm new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-kasm/dependencies.d/init-config b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/dependencies.d/init-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-kasm/run b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/run new file mode 100755 index 0000000..8874fb8 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/run @@ -0,0 +1,20 @@ +#!/usr/bin/with-contenv bash + +# Create directories +if [ ! -d "/opt/docker" ]; then + mkdir -p /opt/docker +fi + +# Login to Dockerhub +if [ -n "${DOCKER_HUB_USERNAME}" ]; then + docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD +fi + +# Generate self cert for wizard +if [ ! -f "/opt/kasm/certs/kasm_wizard.crt" ]; then + mkdir -p /opt/kasm/certs + openssl req -x509 -nodes -days 1825 -newkey rsa:2048 \ + -keyout /opt/kasm/certs/kasm_wizard.key \ + -out /opt/kasm/certs/kasm_wizard.crt \ + -subj "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=$(hostname)/emailAddress=none@none.none" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-kasm/type b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-kasm/up b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/up new file mode 100644 index 0000000..cd5b530 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-config-kasm/run diff --git a/root/etc/s6-overlay/s6-rc.d/svc-docker/dependencies.d/init-config-kasm b/root/etc/s6-overlay/s6-rc.d/svc-docker/dependencies.d/init-config-kasm new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-docker/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-docker/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-docker/run b/root/etc/s6-overlay/s6-rc.d/svc-docker/run new file mode 100755 index 0000000..710a540 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-docker/run @@ -0,0 +1,14 @@ +#!/usr/bin/with-contenv bash + +_term() { + if [ -f "/opt/kasm/bin/stop" ]; then + echo "Caught SIGTERM signal!" + echo "Stopping Kasm Containers" + /opt/kasm/bin/stop + pid=$(pidof stop) + # terminate when the stop process dies + tail --pid=${pid} -f /dev/null + fi +} + +exec /usr/local/bin/dockerd-entrypoint.sh -l error --data-root /opt/docker diff --git a/root/etc/s6-overlay/s6-rc.d/svc-docker/type b/root/etc/s6-overlay/s6-rc.d/svc-docker/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-docker/type @@ -0,0 +1 @@ +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/dependencies.d/init-config-kasm b/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/dependencies.d/init-config-kasm new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/services.d/wizard/run b/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/run similarity index 66% rename from root/etc/services.d/wizard/run rename to root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/run index 57d7d2b..c50e440 100755 --- a/root/etc/services.d/wizard/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/run @@ -2,15 +2,15 @@ # Wait for docker to be up while true; do - if [ -S "/var/run/docker.sock" ]; then - break - fi - sleep 1 + if [ -S "/var/run/docker.sock" ]; then + break + fi + sleep 1 done # Don't do anything if wizard is disabled if [ -f "/opt/NO_WIZARD" ]; then - sleep infinity + sleep infinity fi cd /wizard diff --git a/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/type b/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-kasm-wizard/type @@ -0,0 +1 @@ +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-config-kasm b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-config-kasm new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-docker b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-docker new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-kasm-wizard b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-kasm-wizard new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/services.d/docker/run b/root/etc/services.d/docker/run deleted file mode 100755 index b59d67d..0000000 --- a/root/etc/services.d/docker/run +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/with-contenv bash - -_term() { - if [ -f "/opt/kasm/bin/stop" ]; then - echo "Caught SIGTERM signal!" - echo "Stopping Kasm Containers" - /opt/kasm/bin/stop - pid=$(pidof stop) - # terminate when the stop process dies - tail --pid=${pid} -f /dev/null - fi -} - -exec /usr/local/bin/dockerd-entrypoint.sh -l error --data-root /opt/docker