#!/usr/bin/with-contenv bashio # shellcheck shell=bash disable=SC2016 set -e # ============================================================================== # Displays a simple add-on banner on startup # ============================================================================== if ! bashio::supervisor.ping 2> /dev/null; then # Degraded mode if no homeassistant bashio::log.blue \ '-----------------------------------------------------------' bashio::log.blue "Starting addon without HA support" bashio::log.blue "Version : ${BUILD_VERSION:-1.0}" bashio::log.blue "Please use Docker Compose for env variables" bashio::log.blue \ '-----------------------------------------------------------' # Use environment variables instead of addon options echo "... convert scripts to use environment variables instead of addon options" while IFS= read -r scripts; do [[ "$scripts" == *"00-banner.sh"* ]] && continue sed -i -e 's/bashio::config.has_value[[:space:]]*["'"'"']\([^"'"'"']*\)["'"'"']/[ ! -z "${\1:-}" ]/g' \ -e 's/bashio::config.true[[:space:]]*["'"'"']\([^"'"'"']*\)["'"'"']/[ ! -z "${\1:-}" ] \&\& [ "${\1:-}" = "true" ]/g' \ -e 's/\$(bashio::config[[:space:]]*["'"'"']\([^"'"'"']*\)["'"'"'])/${\1:-}/g' \ -e 's/\$(bashio::addon.port[[:space:]]*["'"'"']\([0-9]*\)["'"'"'])/${\1:-}/g' \ -e 's/bashio::config.require.ssl/true/g' \ -e 's/\$(bashio::addon.ingress_port)/""/g' \ -e 's/\$(bashio::addon.ingress_entry)/""/g' \ -e 's/\$(bashio::addon.ip_address)/""/g' "$scripts" done < <(grep -srl "bashio" /etc/cont-init.d /custom-services.d /etc/services.d /etc/s6-overlay) exit 0 fi bashio::log.blue \ '-----------------------------------------------------------' bashio::log.blue " Add-on: $(bashio::addon.name)" bashio::log.blue " $(bashio::addon.description)" bashio::log.blue \ '-----------------------------------------------------------' bashio::log.blue " Add-on version: $(bashio::addon.version)" if bashio::var.true "$(bashio::addon.update_available)"; then bashio::log.magenta ' There is an update available for this add-on!' bashio::log.magenta \ " Latest add-on version: $(bashio::addon.version_latest)" bashio::log.magenta ' Please consider upgrading as soon as possible.' else bashio::log.green ' You are running the latest version of this add-on.' fi bashio::log.blue " System: $(bashio::info.operating_system)" bashio::log.blue " Architecture: $(bashio::info.arch) / $(bashio::info.machine)" bashio::log.blue " Home Assistant Core: $(bashio::info.homeassistant)" bashio::log.blue " Home Assistant Supervisor: $(bashio::info.supervisor)" bashio::log.blue \ '-----------------------------------------------------------' bashio::log.blue \ ' Please, share the above information when looking for help' bashio::log.blue \ ' or support in, e.g., GitHub, forums' bashio::log.blue \ '-----------------------------------------------------------' bashio::log.green \ ' Provided by: https://github.com/alexbelgium/hassio-addons ' bashio::log.blue \ '-----------------------------------------------------------' # ============================================================================== # Global actions for all addons # ============================================================================== if bashio::config.has_value "PUID" && bashio::config.has_value "PGID" && id abc &> /dev/null; then bashio::log.green ' Defining permissions for main user : ' PUID="$(bashio::config "PUID")" PGID="$(bashio::config "PGID")" usermod -o -u "$PUID" abc groupmod -o -g "$PGID" abc bashio::log.blue "User UID: $(id -u abc)" bashio::log.blue "User GID: $(id -g abc)" bashio::log.blue \ '-----------------------------------------------------------' fi # Clean bashrc file safely if [ -f ~/.bashrc ]; then : > ~/.bashrc; fi