Add docker/headscale/prep.sh

This commit is contained in:
colin 2024-01-21 15:43:40 +00:00
parent 09c6e25830
commit bd44aeafb8
1 changed files with 39 additions and 0 deletions

39
docker/headscale/prep.sh Normal file
View File

@ -0,0 +1,39 @@
#!/bin/bash
strip_yaml_comments() {
local file=$1
if [[ ! -f "$file" ]]; then
echo "File not found: $file"
return 1
fi
grep -v '^#' "$file" | grep -v '^$'
}
download_and_process_config() {
local url="https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml"
local target_dir="/etc/headscale"
local target_file="${target_dir}/config-example.yaml"
local processed_file="${target_dir}/config-example-processed.yaml"
# Create target directory if it does not exist
mkdir -p "$target_dir"
# Download the file using curl
curl -o "$target_file" "$url"
if [ $? -eq 0 ]; then
echo "Config downloaded successfully to $target_file"
# Process the downloaded file to strip comments
strip_yaml_comments "$target_file" > "$processed_file"
if [ $? -eq 0 ]; then
echo "Processed config file saved to $processed_file"
else
echo "Failed to process the config file"
return 1
fi
else
echo "Failed to download the config file"
return 1
fi
}
download_and_process_config