LibrePortal/containers/headscale/scripts/headscale_edit_config.sh
librelad 3e10dc99b4 refactor(headscale): flatten + move headscale into its app folder
Move the whole central scripts/headscale/ tree into containers/headscale/, the
last app-specific dir living centrally:

- 11 sourced function files (incl. the former local/ remote/ subdirs) flattened
  into containers/headscale/scripts/ — flat because the container scan is
  maxdepth 3, so one subfolder level is the limit; basenames already encode the
  local/remote distinction.
- tailscale.sh is a CONTAINER PAYLOAD (ends in a bare `install_tailscale` call,
  runs apt/curl) — it must never be sourced into the manager, so it goes to
  containers/headscale/resources/ (pruned by the scan), NOT scripts/. Verified
  install_tailscale does not leak into the runtime after sourcing.
- Fix tailscaleInstallToContainer to copy the payload from its new resources/
  path (it previously referenced ${install_scripts_dir}tailscale.sh, which never
  matched the file's actual location) and drop the dead commented docker-cp line.
- Remove the now-moot headscale special-case from generate_arrays.sh; regenerate
  (files_headscale.sh drops — headscale is fully container-scanned now).

All 11 functions source + define cleanly; callers resolve by name regardless of
location.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-26 00:00:55 +01:00

28 lines
870 B
Bash
Executable File

#!/bin/bash
headscaleEditConfig()
{
local config_file="${containers_dir}headscale/config/config.yaml"
local previous_md5=$(md5sum "$config_file" | awk '{print $1}')
$CFG_TEXT_EDITOR "$config_file"
local current_md5=$(md5sum "$config_file" | awk '{print $1}')
if [ "$previous_md5" != "$current_md5" ]; then
while true; do
echo ""
isNotice "Changes have been made to the Headscale configuration."
echo ""
isQuestion "Would you like to restart Headscale? (y/n): "
echo ""
read -p "" restart_headscale
if [[ -n "$restart_headscale" ]]; then
break
fi
isNotice "Please provide a valid input."
done
if [[ "$restart_choice" == [yY] ]]; then
dockerComposeRestart "headscale";
fi
fi
}