Docs menu

Proxmox VE

Proxmox VE (8.3 and later) has webhook notification targets with a fully templatable body, so backup results, replication failures, fencing events and update notices can land on your phone as Pinglet push. No glue service needed.

Setup

In the web UI, go to Datacenter → Notifications → Notification Targets → Add → Webhook:

Setting Value
URL https://pinglet.dev/acme/proxmox
Method POST
Header Content-Type: application/json
Header Authorization: Bearer {{ secrets.apikey }}
Secret apikey = pinglet_<your key>
Body see below
{
  "title": "{{ escape title }}",
  "message": "{{ escape message }}",
  "badges": {
    "host": "{{ fields.hostname }}",
    "severity": "{{ severity }}"
  }
}

Replace acme/proxmox with your namespace and preferred topic name. The topic is created on the first notification. Storing the key as a webhook secret keeps it out of the world-readable notification config; secrets live in a root-only file.

Then point a notification matcher at the target (Datacenter → Notifications → Notification Matchers), or edit the default matcher, and use Test on the target to check the wiring. Subscribe to the topic in the Pinglet app using the share link from your dashboard.

Make failures urgent

Proxmox’s severity (info, notice, warning, error) travels as a badge in the recipe above, but every push arrives at normal priority. To have errors break through Do Not Disturb, add a second webhook target whose body includes "priority": "urgent" and "level": "error", and route to it with a matcher on severity = error; let the default matcher keep sending everything else to the normal target. See Message anatomy for what priority and level do.

Notes

  • The {{ escape ... }} helper keeps quotes and newlines in Proxmox’s message from breaking the JSON body. Use it for any free-text field.
  • Proxmox messages can be long (a full backup log table). Pinglet truncates nothing itself, but the whole payload must fit the ~4 KB push ceiling; oversized publishes return 413. Backup summaries fit comfortably.