🔨 Migrate old-style S6 scripts to s6-rc.d (#327)

This commit is contained in:
Franck Nijhof 2022-12-22 13:33:29 +01:00 committed by GitHub
parent 46c04bf78e
commit d4a72c5cb3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 70 additions and 27 deletions

View file

@ -1,4 +1,5 @@
#!/command/with-contenv bashio #!/command/with-contenv bashio
# shellcheck shell=bash
# ============================================================================== # ==============================================================================
# Home Assistant Community Add-on: Grocy # Home Assistant Community Add-on: Grocy
# Sets up Grocy before the server starts # Sets up Grocy before the server starts

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-grocy/run

View file

@ -1,4 +1,5 @@
#!/command/with-contenv bashio #!/command/with-contenv bashio
# shellcheck shell=bash
# ============================================================================== # ==============================================================================
# Home Assistant Community Add-on: Grocy # Home Assistant Community Add-on: Grocy
# Configures NGINX for use with Grocy # Configures NGINX for use with Grocy

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-nginx/run

View file

@ -1,4 +1,5 @@
#!/command/with-contenv bashio #!/command/with-contenv bashio
# shellcheck shell=bash
# ============================================================================== # ==============================================================================
# Home Assistant Community Add-on: Grocy # Home Assistant Community Add-on: Grocy
# Configures PHP-FPM for use with Grocy # Configures PHP-FPM for use with Grocy
@ -10,8 +11,8 @@ bashio::var.json \
port "^9002" \ port "^9002" \
base "$(bashio::addon.ingress_entry)" \ base "$(bashio::addon.ingress_entry)" \
| tempio \ | tempio \
-template /etc/php8/templates/php-fpm.gtpl \ -template /etc/php81/templates/php-fpm.gtpl \
-out /etc/php8/php-fpm.d/ingress.conf -out /etc/php81/php-fpm.d/ingress.conf
# Generate direct access configuration, if enabled. # Generate direct access configuration, if enabled.
if bashio::var.has_value "$(bashio::addon.port 80)"; then if bashio::var.has_value "$(bashio::addon.port 80)"; then
@ -19,6 +20,6 @@ if bashio::var.has_value "$(bashio::addon.port 80)"; then
name "www" \ name "www" \
port "^9001" \ port "^9001" \
| tempio \ | tempio \
-template /etc/php8/templates/php-fpm.gtpl \ -template /etc/php81/templates/php-fpm.gtpl \
-out /etc/php8/php-fpm.d/www.conf -out /etc/php81/php-fpm.d/www.conf
fi fi

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-php-fpm/run

View file

@ -0,0 +1,26 @@
#!/command/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: Grocy
# Take down the S6 supervision tree when Nginx fails
# ==============================================================================
declare exit_code
readonly exit_code_container=$(</run/s6-linux-init-container-results/exitcode)
readonly exit_code_service="${1}"
readonly exit_code_signal="${2}"
readonly service="NGINX"
bashio::log.info \
"Service ${service} exited with code ${exit_code_service}" \
"(by signal ${exit_code_signal})"
if [[ "${exit_code_service}" -eq 256 ]]; then
if [[ "${exit_code_container}" -eq 0 ]]; then
echo $((128 + $exit_code_signal)) > /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

View file

@ -0,0 +1 @@
longrun

View file

@ -0,0 +1,27 @@
#!/command/with-contenv bashio
# shellcheck shell=bash
# ==============================================================================
# Home Assistant Community Add-on: Grocy
# Take down the S6 supervision tree when PHP FPM fails
# ==============================================================================
declare exit_code
readonly exit_code_container=$(</run/s6-linux-init-container-results/exitcode)
readonly exit_code_service="${1}"
readonly exit_code_signal="${2}"
readonly service="PHP-FPM"
bashio::log.info \
"Service ${service} exited with code ${exit_code_service}" \
"(by signal ${exit_code_signal})"
if [[ "${exit_code_service}" -eq 256 ]]; then
if [[ "${exit_code_container}" -eq 0 ]]; then
echo $((128 + $exit_code_signal)) > /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

View file

@ -1,4 +1,5 @@
#!/command/with-contenv bashio #!/command/with-contenv bashio
# shellcheck shell=bash
# ============================================================================== # ==============================================================================
# Home Assistant Community Add-on: Grocy # Home Assistant Community Add-on: Grocy
# Runs the PHP-FPM daemon # Runs the PHP-FPM daemon
@ -89,4 +90,4 @@ GROCY_CULTURE=$(bashio::config "culture")
GROCY_CURRENCY=$(bashio::config "currency") GROCY_CURRENCY=$(bashio::config "currency")
GROCY_ENTRY_PAGE=$(bashio::config 'entry_page') GROCY_ENTRY_PAGE=$(bashio::config 'entry_page')
exec php-fpm8 -R --nodaemonize exec php-fpm81 -R --nodaemonize

View file

@ -0,0 +1 @@
longrun

View file

@ -1,11 +0,0 @@
#!/command/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: Grocy
# Take down the S6 supervision tree when Nginx fails
# ==============================================================================
if [[ "${1}" -ne 0 ]] && [[ "${1}" -ne 256 ]]; then
bashio::log.warning "NGINX crashed, halting add-on"
/run/s6/basedir/bin/halt
fi
bashio::log.info "NGINX stopped, restarting..."

View file

@ -1,11 +0,0 @@
#!/command/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: Grocy
# Take down the S6 supervision tree when PHP FPM fails
# ==============================================================================
if [[ "${1}" -ne 0 ]] && [[ "${1}" -ne 256 ]]; then
bashio::log.warning "PHP-FPM crashed, halting add-on"
/run/s6/basedir/bin/halt
fi
bashio::log.info "PHP-FPM stopped, restarting..."