Skip to content

SABnzbd

Track download progress on your Lock Screen. See file names, speed, ETA, and post-processing phases in real-time.

How It Works

The pushward-sabnzbd bridge container runs an HTTP server that receives webhooks from SABnzbd and tracks download and post-processing progress.

  1. Webhook -- SABnzbd notifies the bridge when a download is added
  2. Download tracking -- polls SABnzbd every 1s, showing progress, speed (MB/s), ETA, and file name
  3. Post-processing -- tracks Verifying, Repairing, Extracting, and Moving phases
  4. Queue continuation -- if more downloads appear, continues tracking
  5. Summary -- shows total size, duration, and average speed before cleanup

Setup

1. Get Your Integration Key

Open the PushWard app → Settings → Integration Key to find your default hlk_ key.

To create a dedicated key for this integration:

  1. Go to Settings → Manage Keys
  2. Tap +
  3. Set name (e.g. "SABnzbd"), choose scope, and optionally restrict tosabnzbd
  4. Copy the generated hlk_ key

2. Deploy the Bridge

docker-compose.yml
services:
  pushward-sabnzbd:
    image: ghcr.io/mac-lucky/pushward-sabnzbd:latest
    ports:
      - "8090:8090"
    environment:
      PUSHWARD_URL: https://api.pushward.app
      PUSHWARD_API_KEY: hlk_YOUR_INTEGRATION_KEY
      PUSHWARD_SABNZBD_URL: http://sabnzbd:8080
      PUSHWARD_SABNZBD_API_KEY: your-sabnzbd-api-key
    restart: unless-stopped

3. Configure SABnzbd Notification Script

In SABnzbd, configure a notification script that sends a POST request to the bridge webhook:

  1. Go to Config > Notifications
  2. Under Notification Script, add a script that calls the webhook
  3. Enable notifications for NZB added

Alternatively, use a curl-based script:

notify.sh
#!/bin/bash
curl -X POST http://pushward-sabnzbd:8090/webhook

Configuration

Environment VariableDescriptionDefault
PUSHWARD_URLPushWard server URL--
PUSHWARD_API_KEYIntegration key (hlk_ prefix)--
PUSHWARD_SABNZBD_URLSABnzbd API URL--
PUSHWARD_SABNZBD_API_KEYSABnzbd API key--
PUSHWARD_SERVER_ADDRESSHTTP listen address:8090
PUSHWARD_PRIORITYActivity priority (0-10)1
PUSHWARD_POLL_INTERVALPoll interval during tracking1s
PUSHWARD_CLEANUP_DELAYDelay before cleanup after completed15m
PUSHWARD_STALE_TIMEOUTEnds activity if no updates received30m
PUSHWARD_SABNZBD_TEMPLATEDisplay template (generic or timeline)generic

Download Phases

PhaseLive ActivityColor
StartingStarting...Blue
Downloading12.3 MB/s · avg 11Blue
PausedPausedBlue
VerifyingVerifying...Orange
RepairingRepairing...Orange
ExtractingExtracting...Orange
CompleteCompleteGreen
💡 Tip

The bridge automatically resumes tracking if it detects active downloads on startup, so it recovers gracefully from restarts.

Templates

SABnzbd supports two display templates, configured via PUSHWARD_SABNZBD_TEMPLATE:

TemplateDisplay
generic (default)Progress bar with speed, ETA, and file name
timelineSparkline chart showing download speed over time, with speed (MB/s) as the primary metric

Activity Slug Format

Uses a fixed slug: sabnzbd. All downloads are tracked under a single activity.