Model A prototype (run start.sh AS the manager, escalate only via helpers): - check_root.sh: accept the manager user, not root-only (init.sh keeps its own install-time root check). - init.sh: guard the top-level root-check + installer entrypoint with BASH_SOURCE!=$0 so it runs ONLY when init.sh is executed directly; when start.sh sources it as the manager the entrypoint (and its root check) no longer fires. Also: convert bare daemon-touching 'docker' calls (no helper -> hit the nonexistent /var/run socket in rootless) to runFileOp docker across app_status, app_health_*, network_prune, ip_is_available, check_docker_network, backup_db (db dumps) and crontab_check_processor. cd&&compose rooted-branches and 'docker compose --version' checks left as-is (rooted-only / no daemon). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: librelad <librelad@digitalangels.vip>
37 lines
1.4 KiB
Bash
Executable File
37 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
checkDockerNetworkRequirement()
|
|
{
|
|
if [[ $CFG_REQUIREMENT_DOCKER_NETWORK == "true" ]]; then
|
|
if [[ $CFG_DOCKER_INSTALL_TYPE == "rootless" ]]; then
|
|
if dockerCommandRun "docker network inspect $CFG_NETWORK_NAME > /dev/null 2>&1"; then
|
|
local current_subnet=$(dockerCommandRun "docker network inspect $CFG_NETWORK_NAME --format '{{range .IPAM.Config}}{{.Subnet}}{{end}}' 2>/dev/null")
|
|
|
|
if [[ "$current_subnet" == "$CFG_NETWORK_SUBNET" ]]; then
|
|
isSuccessful "Docker Network $CFG_NETWORK_NAME exists with matching subnet"
|
|
else
|
|
updateDockerNetworkConfig "$current_subnet"
|
|
fi
|
|
else
|
|
isNotice "Docker Network $CFG_NETWORK_NAME not found."
|
|
DOCKER_NETWORK_SETUP_NEEDED="true"
|
|
((preinstallneeded++))
|
|
fi
|
|
elif [[ $CFG_DOCKER_INSTALL_TYPE == "rooted" ]]; then
|
|
if runFileOp docker network inspect $CFG_NETWORK_NAME > /dev/null 2>&1; then
|
|
local current_subnet=$(runFileOp docker network inspect $CFG_NETWORK_NAME --format '{{range .IPAM.Config}}{{.Subnet}}{{end}}' 2>/dev/null)
|
|
|
|
if [[ "$current_subnet" == "$CFG_NETWORK_SUBNET" ]]; then
|
|
isSuccessful "Docker Network $CFG_NETWORK_NAME exists with matching subnet"
|
|
else
|
|
updateDockerNetworkConfig "$current_subnet"
|
|
fi
|
|
else
|
|
isNotice "Docker Network $CFG_NETWORK_NAME not found."
|
|
DOCKER_NETWORK_SETUP_NEEDED="true"
|
|
((preinstallneeded++))
|
|
fi
|
|
fi
|
|
fi
|
|
}
|