Focalboard runs as nobody (65534) but fixPermissionsBeforeStart hands the app dir to the install user, so the server couldn't open its sqlite db on the newly mounted data dir. Chown data/ to 65534 in appUpdateSpecifics and restart. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: librelad <librelad@digitalangels.vip>
46 lines
1.5 KiB
Bash
Executable File
46 lines
1.5 KiB
Bash
Executable File
#!/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."
|
|
}
|