small fixes

This commit is contained in:
counterweight 2025-12-14 22:33:12 +01:00
parent d82c9afbe5
commit e6be6cea51
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
2 changed files with 18 additions and 14 deletions

View file

@ -245,11 +245,14 @@
return 1 return 1
fi fi
# URL encode the message # URL encode spaces in message
local encoded_msg=$(echo -n "$msg" | curl -Gso /dev/null -w %{url_effective} --data-urlencode "msg=$msg" "" | cut -c 3-) local encoded_msg="${msg// /%20}"
curl -s --max-time 10 --retry 2 -o /dev/null \ if ! curl -s --max-time 10 --retry 2 -o /dev/null \
"${UPTIME_KUMA_PUSH_URL}?status=${status}&msg=${encoded_msg}&ping=" || true "${UPTIME_KUMA_PUSH_URL}?status=${status}&msg=${encoded_msg}&ping="; then
echo "ERROR: Failed to push to Uptime Kuma"
return 1
fi
} }
# Main health check # Main health check
@ -369,14 +372,14 @@
if existing_monitor: if existing_monitor:
print(f"Monitor '{monitor_name}' already exists (ID: {existing_monitor['id']})") print(f"Monitor '{monitor_name}' already exists (ID: {existing_monitor['id']})")
# Get push URL from existing monitor push_token = existing_monitor.get('pushToken') or existing_monitor.get('push_token')
push_id = existing_monitor.get('push_token', existing_monitor.get('id')) if not push_token:
push_url = f"{url}/api/push/{push_id}" raise ValueError("Could not find push token for monitor")
push_url = f"{url}/api/push/{push_token}"
print(f"Push URL: {push_url}") print(f"Push URL: {push_url}")
print("Skipping - monitor already configured")
else: else:
print(f"Creating push monitor '{monitor_name}'...") print(f"Creating push monitor '{monitor_name}'...")
result = api.add_monitor( api.add_monitor(
type=MonitorType.PUSH, type=MonitorType.PUSH,
name=monitor_name, name=monitor_name,
parent=group['id'], parent=group['id'],
@ -385,12 +388,13 @@
retryInterval=60, retryInterval=60,
notificationIDList={ntfy_notification_id: True} if ntfy_notification_id else {} notificationIDList={ntfy_notification_id: True} if ntfy_notification_id else {}
) )
# Get push URL from created monitor
monitors = api.get_monitors() monitors = api.get_monitors()
new_monitor = next((m for m in monitors if m.get('name') == monitor_name), None) new_monitor = next((m for m in monitors if m.get('name') == monitor_name), None)
if new_monitor: if new_monitor:
push_id = new_monitor.get('push_token', new_monitor.get('id')) push_token = new_monitor.get('pushToken') or new_monitor.get('push_token')
push_url = f"{url}/api/push/{push_id}" if not push_token:
raise ValueError("Could not find push token for new monitor")
push_url = f"{url}/api/push/{push_token}"
print(f"Push URL: {push_url}") print(f"Push URL: {push_url}")
api.disconnect() api.disconnect()

View file

@ -465,7 +465,7 @@
type=MonitorType.PUSH, type=MonitorType.PUSH,
name=monitor_name, name=monitor_name,
parent=group['id'], parent=group['id'],
interval=60, interval=90,
maxretries=3, maxretries=3,
retryInterval=60, retryInterval=60,
notificationIDList={ntfy_notification_id: True} if ntfy_notification_id else {} notificationIDList={ntfy_notification_id: True} if ntfy_notification_id else {}
@ -723,7 +723,7 @@
username: "{{ uptime_kuma_username }}" username: "{{ uptime_kuma_username }}"
password: "{{ uptime_kuma_password }}" password: "{{ uptime_kuma_password }}"
monitor_url: "https://{{ mempool_domain }}" monitor_url: "https://{{ mempool_domain }}"
monitor_name: "Mempool" monitor_name: "Mempool Public Access"
mode: '0644' mode: '0644'
- name: Run Uptime Kuma HTTP monitor setup - name: Run Uptime Kuma HTTP monitor setup