#!/bin/bash appUpdateSpecifics() { local app_name="$1" # Initialize setup. initializeAppVariables $app_name; if [[ $app_name == "adguard" ]] || [[ $app_name == "pihole" ]]; then if [[ $CFG_REQUIREMENT_DNS_UPDATER == "true" ]]; then updateDNS $app_name install; fi # Split-horizon local DNS: app subdomains resolve to the box on the LAN. declare -F setupLocalDnsRewrites >/dev/null 2>&1 && setupLocalDnsRewrites fi if [[ $app_name == "libreportal" ]]; then webuiLibrePortalUpdate; fi if [[ $app_name == "dashy" ]]; then # Refresh apps-services.json (the source of truth that # appDashyUpdateConf reads) before generating dashy's conf.yml. # On a first dashy install the file may not yet reflect dashy # itself; on a re-install the previous selection survives. webuiLibrePortalUpdate; appDashyUpdateConf; fi if [[ $app_name == "focalboard" ]]; then # Focalboard runs as nobody (65534) and writes its sqlite db + uploads # under its mounted data dir; fixPermissionsBeforeStart hands the dir to # the install user, so give it to 65534 here or the server can't open # the database. Restart so it picks the dir up. sudo chown -R 65534:65534 "$containers_dir$app_name/data"; shouldrestart="true"; fi if [[ $shouldrestart == "true" ]]; then dockerComposeRestart $app_name; fi isSuccessful "All application specific updates have been completed." }