diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/dependencies.d/base b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/dependencies.d/base new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/cont-init.d/docker.sh b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/run similarity index 90% rename from ssh/rootfs/etc/cont-init.d/docker.sh rename to ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/run index 0d5518f00..d3b104194 100755 --- a/ssh/rootfs/etc/cont-init.d/docker.sh +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/run @@ -1,4 +1,6 @@ #!/command/with-contenv bashio +# shellcheck shell=bash +# shellcheck disable=SC2207 # ============================================================================== # Home Assistant Community Add-on: SSH & Web Terminal # Enables Docker by moving the Docker executable in place. diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/type b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/type @@ -0,0 +1 @@ +oneshot diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/up b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/up new file mode 100644 index 000000000..ae453582d --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-docker/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-docker/run diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/dependencies.d/base b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/dependencies.d/base new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/cont-init.d/mosquitto.sh b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/run similarity index 97% rename from ssh/rootfs/etc/cont-init.d/mosquitto.sh rename to ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/run index f1c2a35df..6e27c4e65 100755 --- a/ssh/rootfs/etc/cont-init.d/mosquitto.sh +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/run @@ -1,4 +1,5 @@ #!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: SSH & Web Terminal # Pre-configures the Mosquitto clients, if the service is available diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/type b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/type @@ -0,0 +1 @@ +oneshot diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/up b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/up new file mode 100644 index 000000000..b662c5d72 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mosquitto/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mosquitto/run diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/dependencies.d/base b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/dependencies.d/base new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/cont-init.d/mysql.sh b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/run similarity index 97% rename from ssh/rootfs/etc/cont-init.d/mysql.sh rename to ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/run index e06c35443..f387ee1f7 100755 --- a/ssh/rootfs/etc/cont-init.d/mysql.sh +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/run @@ -1,4 +1,5 @@ #!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: SSH & Web Terminal # Pre-configures the MySQL clients, if the service is available diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/type b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/type @@ -0,0 +1 @@ +oneshot diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/up b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/up new file mode 100644 index 000000000..feb7e015d --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-mysql/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mysql/run diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/dependencies.d/base b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/dependencies.d/base new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/cont-init.d/ssh.sh b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/run similarity index 99% rename from ssh/rootfs/etc/cont-init.d/ssh.sh rename to ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/run index 2ef2e4466..7ed62afb4 100755 --- a/ssh/rootfs/etc/cont-init.d/ssh.sh +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/run @@ -1,4 +1,5 @@ #!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: SSH & Web Terminal # Configures the SSH daemon diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/type b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/type @@ -0,0 +1 @@ +oneshot diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/up b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/up new file mode 100644 index 000000000..b60fa4373 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-ssh/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-ssh/run diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/dependencies.d/base b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/dependencies.d/base new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/cont-init.d/user.sh b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/run similarity index 99% rename from ssh/rootfs/etc/cont-init.d/user.sh rename to ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/run index dbc0f075a..f62c19014 100755 --- a/ssh/rootfs/etc/cont-init.d/user.sh +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/run @@ -1,4 +1,5 @@ #!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: SSH & Web Terminal # Executes configured customizations & persists user settings diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/type b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/type @@ -0,0 +1 @@ +oneshot diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/up b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/up new file mode 100644 index 000000000..b9772483c --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/init-user/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-user/run diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/init-ssh b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/init-ssh new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/init-user b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/init-user new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/finish b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/finish new file mode 100755 index 000000000..45eb3c11b --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/finish @@ -0,0 +1,27 @@ +#!/command/with-contenv bashio +# shellcheck shell=bash +# ============================================================================== +# Home Assistant Community Add-on: SSH & Web Terminal +# Take down the S6 supervision tree when the SSH daemon fails +# ============================================================================== +declare exit_code +readonly exit_code_container=$( /run/s6-linux-init-container-results/exitcode + fi + [[ "${exit_code_signal}" -eq 15 ]] && exec /run/s6/basedir/bin/halt +elif [[ "${exit_code_service}" -ne 0 ]]; then + if [[ "${exit_code_container}" -eq 0 ]]; then + echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode + fi + exec /run/s6/basedir/bin/halt +fi diff --git a/ssh/rootfs/etc/services.d/sshd/run b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/run similarity index 96% rename from ssh/rootfs/etc/services.d/sshd/run rename to ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/run index b68b0cc7e..03416825e 100755 --- a/ssh/rootfs/etc/services.d/sshd/run +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/run @@ -1,4 +1,5 @@ #!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: SSH & Web Terminal # Starts the SSH service diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/type b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/type new file mode 100644 index 000000000..5883cff0c --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/sshd/type @@ -0,0 +1 @@ +longrun diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/dependencies.d/init-user b/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/dependencies.d/init-user new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/finish b/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/finish new file mode 100755 index 000000000..98adf5223 --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/finish @@ -0,0 +1,26 @@ +#!/command/with-contenv bashio +# ============================================================================== +# Home Assistant Community Add-on: SSH & Web Terminal +# Take down the S6 supervision tree when the ttyd daemon fails +# ============================================================================== +declare exit_code +readonly exit_code_container=$( /run/s6-linux-init-container-results/exitcode + fi + [[ "${exit_code_signal}" -eq 15 ]] && exec /run/s6/basedir/bin/halt +elif [[ "${exit_code_service}" -ne 0 ]]; then + if [[ "${exit_code_container}" -eq 0 ]]; then + echo "${exit_code_service}" > /run/s6-linux-init-container-results/exitcode + fi + exec /run/s6/basedir/bin/halt +fi diff --git a/ssh/rootfs/etc/services.d/ttyd/run b/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/run similarity index 97% rename from ssh/rootfs/etc/services.d/ttyd/run rename to ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/run index cc90ec3db..e0c4e1f55 100755 --- a/ssh/rootfs/etc/services.d/ttyd/run +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/run @@ -1,4 +1,5 @@ #!/command/with-contenv bashio +# shellcheck shell=bash # ============================================================================== # Home Assistant Community Add-on: SSH & Web Terminal # Runs the ttyd daemon diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/type b/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/type new file mode 100644 index 000000000..5883cff0c --- /dev/null +++ b/ssh/rootfs/etc/s6-overlay/s6-rc.d/ttyd/type @@ -0,0 +1 @@ +longrun diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-docker b/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-docker new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-mosquitto b/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-mosquitto new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-mysql b/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-mysql new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-ssh b/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-ssh new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-user b/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/init-user new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/sshd b/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/sshd new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/ttyd b/ssh/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/ttyd new file mode 100644 index 000000000..e69de29bb diff --git a/ssh/rootfs/etc/services.d/sshd/finish b/ssh/rootfs/etc/services.d/sshd/finish deleted file mode 100755 index a643ae0f8..000000000 --- a/ssh/rootfs/etc/services.d/sshd/finish +++ /dev/null @@ -1,11 +0,0 @@ -#!/command/with-contenv bashio -# ============================================================================== -# Home Assistant Community Add-on: SSH & Web Terminal -# Take down the S6 supervision tree when the SSH daemon fails -# ============================================================================== -if [[ "${1}" -ne 0 ]] && [[ "${1}" -ne 256 ]]; then - bashio::log.warning "sshd crashed, halting add-on" - /run/s6/basedir/bin/halt -fi - -bashio::log.info "sshd stopped, restarting..." diff --git a/ssh/rootfs/etc/services.d/ttyd/finish b/ssh/rootfs/etc/services.d/ttyd/finish deleted file mode 100755 index d5d38372f..000000000 --- a/ssh/rootfs/etc/services.d/ttyd/finish +++ /dev/null @@ -1,11 +0,0 @@ -#!/command/with-contenv bashio -# ============================================================================== -# Home Assistant Community Add-on: SSH & Web Terminal -# Take down the S6 supervision tree when the ttyd daemon fails -# ============================================================================== -if [[ "${1}" -ne 0 ]] && [[ "${1}" -ne 256 ]]; then - bashio::log.warning "ttyd crashed, halting add-on" - /run/s6/basedir/bin/halt -fi - -bashio::log.info "ttyd stopped, restarting..."