Compare commits

..

2 Commits

Author SHA1 Message Date
aki
79a7a0d4c6 fix(update-authelia): Use proper yq syntax since walk() does not exist like in jq
Some checks failed
/ validate-docker-compose (push) Has been cancelled
2025-04-27 00:05:43 +08:00
aki
93e709841b refactor(update-setup): Simplify Authelia configuration updates and improve placeholder replacements
Some checks failed
/ validate-docker-compose (push) Has been cancelled
2025-04-26 21:09:07 +08:00

View File

@@ -272,40 +272,40 @@ update_authelia_config() {
local existing_notifier=$(yq e '.notifier // ""' "$AUTHELIA_CONFIG_BACKUP")
# Update secrets in temp file if they existed in the backup
if [[ -n "$existing_jwt_secret" && "$existing_jwt_secret" != '""' && "$existing_jwt_secret" != "null" ]]; then
existing_jwt_secret="$existing_jwt_secret" \
yq e -i '.identity_validation.reset_password.jwt_secret = strenv(existing_jwt_secret)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_jwt_secret" && "$existing_jwt_secret" != '""' && "$existing_jwt_secret" != "null" ]]; then
existing_jwt_secret="$existing_jwt_secret" \
yq e -i '.identity_validation.reset_password.jwt_secret = strenv(existing_jwt_secret)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_session_secret" && "$existing_session_secret" != '""' && "$existing_session_secret" != "null" ]]; then
existing_session_secret="$existing_session_secret" \
yq e -i '.session.secret = strenv(existing_session_secret)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_session_secret" && "$existing_session_secret" != '""' && "$existing_session_secret" != "null" ]]; then
existing_session_secret="$existing_session_secret" \
yq e -i '.session.secret = strenv(existing_session_secret)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_storage_key" && "$existing_storage_key" != '""' && "$existing_storage_key" != "null" ]]; then
existing_storage_key="$existing_storage_key" \
yq e -i '.storage.encryption_key = strenv(existing_storage_key)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_storage_key" && "$existing_storage_key" != '""' && "$existing_storage_key" != "null" ]]; then
existing_storage_key="$existing_storage_key" \
yq e -i '.storage.encryption_key = strenv(existing_storage_key)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_redis_pass" && "$existing_redis_pass" != '""' && "$existing_redis_pass" != "null" ]]; then
existing_redis_pass="$existing_redis_pass" \
yq e -i '.session.redis.password = strenv(existing_redis_pass)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_redis_pass" && "$existing_redis_pass" != '""' && "$existing_redis_pass" != "null" ]]; then
existing_redis_pass="$existing_redis_pass" \
yq e -i '.session.redis.password = strenv(existing_redis_pass)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_notifier" && "$existing_notifier" != '""' && "$existing_notifier" != "null" ]]; then
existing_notifier="$existing_notifier" \
yq e -i '.notifier = strenv(existing_notifier)' "$TEMP_CONFIG"
fi
if [[ -n "$existing_notifier" && "$existing_notifier" != '""' && "$existing_notifier" != "null" ]]; then
existing_notifier="$existing_notifier" \
yq e -i '.notifier = strenv(existing_notifier)' "$TEMP_CONFIG"
fi
fi
# Update domain settings from .env
echo -e "${BLUE}Applying Tailscale domain settings...${NC}"
# Replace placeholder full hostname
yq e -i "walk(if type == \"string\" and . == \"tailscale-nas.your-tailnet.ts.net\" then \"${FULL_HOSTNAME}\" else . end)" "$TEMP_CONFIG"
# Replace placeholder full hostname - using proper yq syntax instead of walk()
yq e -i "(.. | select(tag == \"!!str\" and . == \"tailscale-nas.your-tailnet.ts.net\")) = \"${FULL_HOSTNAME}\"" "$TEMP_CONFIG"
# Replace placeholder tailnet domain
yq e -i "walk(if type == \"string\" and . == \"your-tailnet.ts.net\" then \"${TAILNET_DOMAIN}\" else . end)" "$TEMP_CONFIG"
# Replace placeholder tailnet domain - using proper yq syntax instead of walk()
yq e -i "(.. | select(tag == \"!!str\" and . == \"your-tailnet.ts.net\")) = \"${TAILNET_DOMAIN}\"" "$TEMP_CONFIG"
# Move temp file to final location
mv "$TEMP_CONFIG" "$AUTHELIA_CONFIG"