diff --git a/.github/workflows/call_invalid_helper.yml b/.github/workflows/call_invalid_helper.yml new file mode 100644 index 0000000..773767c --- /dev/null +++ b/.github/workflows/call_invalid_helper.yml @@ -0,0 +1,12 @@ +name: Comment on invalid interaction +on: + issues: + types: + - labeled +jobs: + add-comment-on-invalid: + if: github.event.label.name == 'invalid' + permissions: + issues: write + uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1 + secrets: inherit diff --git a/Dockerfile b/Dockerfile index e1318eb..3b722de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:3.15 +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-alpine:3.17 # set version label ARG BUILD_DATE @@ -10,11 +12,8 @@ LABEL maintainer="thelamer" RUN \ echo "**** install build packages ****" && \ apk add --no-cache --virtual=build-dependencies \ - curl \ - g++ \ - gcc \ + build-base \ libsass-dev \ - make \ npm && \ echo "**** install runtime packages ****" && \ apk add --no-cache \ @@ -34,23 +33,18 @@ RUN \ /app/raneto --strip-components=1 && \ echo "**** install raneto node dev modules and build ****" && \ cd /app/raneto && \ - npm config set unsafe-perm true && \ - npm install gulp && \ - npm install --production && \ - node node_modules/gulp/bin/gulp.js && \ - npm uninstall gulp && \ + npm install --omit=dev && \ echo "**** cleanup ****" && \ apk del --purge \ build-dependencies && \ rm -rf \ - /root \ - /tmp/* && \ - mkdir -p \ - /root + $HOME/.npm \ + /tmp/* # copy local files COPY root/ / # ports and volumes EXPOSE 3000 + VOLUME /config diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 11abfd3..274eb64 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17 # set version label ARG BUILD_DATE @@ -10,11 +12,8 @@ LABEL maintainer="thelamer" RUN \ echo "**** install build packages ****" && \ apk add --no-cache --virtual=build-dependencies \ - curl \ - g++ \ - gcc \ + build-base \ libsass-dev \ - make \ npm && \ echo "**** install runtime packages ****" && \ apk add --no-cache \ @@ -34,23 +33,18 @@ RUN \ /app/raneto --strip-components=1 && \ echo "**** install raneto node dev modules and build ****" && \ cd /app/raneto && \ - npm config set unsafe-perm true && \ - npm install gulp && \ - npm install --production && \ - node node_modules/gulp/bin/gulp.js && \ - npm uninstall gulp && \ + npm install --omit=dev && \ echo "**** cleanup ****" && \ apk del --purge \ build-dependencies && \ rm -rf \ - /root \ - /tmp/* && \ - mkdir -p \ - /root + $HOME/.npm \ + /tmp/* # copy local files COPY root/ / # ports and volumes EXPOSE 3000 + VOLUME /config diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 8e691ce..fe2b19b 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.17 # set version label ARG BUILD_DATE @@ -10,11 +12,8 @@ LABEL maintainer="thelamer" RUN \ echo "**** install build packages ****" && \ apk add --no-cache --virtual=build-dependencies \ - curl \ - g++ \ - gcc \ + build-base \ libsass-dev \ - make \ npm && \ echo "**** install runtime packages ****" && \ apk add --no-cache \ @@ -34,23 +33,18 @@ RUN \ /app/raneto --strip-components=1 && \ echo "**** install raneto node dev modules and build ****" && \ cd /app/raneto && \ - npm config set unsafe-perm true && \ - npm install gulp && \ - npm install --production && \ - node node_modules/gulp/bin/gulp.js && \ - npm uninstall gulp && \ + npm install --omit=dev && \ echo "**** cleanup ****" && \ apk del --purge \ build-dependencies && \ rm -rf \ - /root \ - /tmp/* && \ - mkdir -p \ - /root + $HOME/.npm \ + /tmp/* # copy local files COPY root/ / # ports and volumes EXPOSE 3000 + VOLUME /config diff --git a/README.md b/README.md index 3846512..517c50e 100644 --- a/README.md +++ b/README.md @@ -230,6 +230,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **18.01.23:** - Rebase to Alpine 3.17, migrate to s6v3. * **10.08.22:** - Rebasing to alpine 3.15. * **23.01.21:** - Rebasing to alpine 3.13. * **02.06.20:** - Rebasing to alpine 3.11. diff --git a/readme-vars.yml b/readme-vars.yml index 2495cd8..d63d4e0 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -42,6 +42,7 @@ app_setup_block: | # changelog changelogs: + - { date: "18.01.23:", desc: "Rebase to Alpine 3.17, migrate to s6v3." } - { date: "10.08.22:", desc: "Rebasing to alpine 3.15." } - { date: "23.01.21:", desc: "Rebasing to alpine 3.13." } - { date: "02.06.20:", desc: "Rebasing to alpine 3.11." } diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-raneto-config b/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-raneto-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-raneto-config/dependencies.d/init-config b/root/etc/s6-overlay/s6-rc.d/init-raneto-config/dependencies.d/init-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/cont-init.d/30-config b/root/etc/s6-overlay/s6-rc.d/init-raneto-config/run old mode 100644 new mode 100755 similarity index 64% rename from root/etc/cont-init.d/30-config rename to root/etc/s6-overlay/s6-rc.d/init-raneto-config/run index 32173de..69de2d0 --- a/root/etc/cont-init.d/30-config +++ b/root/etc/s6-overlay/s6-rc.d/init-raneto-config/run @@ -1,21 +1,29 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash # make directories if necessary mkdir -p /config/content + i=/app/raneto/themes/default/public/images -[[ -e "$i" && ! -L "$i" && -e /config/"$(basename "$i")" ]] && \ +if [[ -e "$i" && ! -L "$i" && -e /config/"$(basename "$i")" ]]; then rm -Rf "$i" && \ ln -s /config/"$(basename "$i")" "$i" -[[ -e "$i" && ! -L "$i" ]] && \ +fi + +if [[ -e "$i" && ! -L "$i" ]]; then mv "$i" /config/"$(basename "$i")" && \ ln -s /config/"$(basename "$i")" "$i" +fi # create local user server files -[[ ! -f /config/config.default.js ]] && \ +if [[ ! -f /config/config.default.js ]]; then cp /defaults/config.default.js /config/config.default.js -[[ ! -f /app/raneto/server.js ]] && \ +fi + +if [[ ! -f /app/raneto/server.js ]]; then cp /defaults/server.js /app/raneto/server.js +fi # permissions -chown -R abc:abc \ +lsiown -R abc:abc \ /config diff --git a/root/etc/s6-overlay/s6-rc.d/init-raneto-config/type b/root/etc/s6-overlay/s6-rc.d/init-raneto-config/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-raneto-config/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-raneto-config/up b/root/etc/s6-overlay/s6-rc.d/init-raneto-config/up new file mode 100644 index 0000000..ad4cb9d --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-raneto-config/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-raneto-config/run diff --git a/root/etc/s6-overlay/s6-rc.d/svc-raneto/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-raneto/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-raneto/notification-fd b/root/etc/s6-overlay/s6-rc.d/svc-raneto/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-raneto/notification-fd @@ -0,0 +1 @@ +3 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-raneto/run b/root/etc/s6-overlay/s6-rc.d/svc-raneto/run new file mode 100755 index 0000000..1707c88 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-raneto/run @@ -0,0 +1,6 @@ +#!/usr/bin/with-contenv bash +# shellcheck shell=bash + +exec \ + s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 3000" \ + cd /app/raneto s6-setuidgid abc node server.js diff --git a/root/etc/s6-overlay/s6-rc.d/svc-raneto/type b/root/etc/s6-overlay/s6-rc.d/svc-raneto/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-raneto/type @@ -0,0 +1 @@ +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-raneto-config b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-raneto-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-raneto b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-raneto new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/services.d/raneto/run b/root/etc/services.d/raneto/run deleted file mode 100644 index cb6f171..0000000 --- a/root/etc/services.d/raneto/run +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/with-contenv bash - -cd /app/raneto || exit - -DEBUG=raneto exec \ - s6-setuidgid abc node server.js