The phone is upstairs, the PC is where you actually work, and the doorbell is one flight of stairs and a courier’s patience away from an unsuccessful delivery. A ring should surface on the screen you are already looking at. The best apps for routing a smart doorbell to your PC do one of two things: they subscribe your desktop to the doorbell’s push channel, or they wrap the whole loop in a home automation server that sends a native OS notification. We picked eight tools that cover the common doorbells (Reolink, Aqara, Ring, Amcrest, DIY Frigate rigs) and the common desktops (Windows, macOS, Linux).
What to look for
Six things separate a working setup from one that misses a ring.
- Speed: notification arrives inside two seconds of the ring, before the courier walks away
- Native OS notification, not a browser tab you might not have open
- A snapshot preview so you know if it is a courier or a neighbour, without alt-tabbing
- Fallback path if the doorbell’s cloud is down
- No exposed ports on the home router
- Idle enough to run on the desktop 24/7 without eating CPU
Quick comparison table
| App | Best for | Notification path | Free plan | Standout feature |
|---|---|---|---|---|
| Home Assistant | Any doorbell, any OS | HA Companion + OS toast | Free (open source) | Handles the doorbell brand you own |
| ntfy | Simple self-hosted push | HTTP POST + subscribe | Free (open source) | One command from a shell script |
| Pushover | Cloud push with desktop clients | Cloud API | $5 one-time | Priority levels for the doorbell case |
| Gotify | Fully offline push | Self-hosted server | Free (open source) | No third-party cloud |
| Node-RED | Flow-based automations | HTTP + WebSocket | Free (open source) | Wires the doorbell to anything else |
| Frigate | DIY doorbell using a Pi | MQTT + snapshot | Free (open source) | Person detection before it rings |
| Reolink Desktop | Reolink doorbell owners | Vendor app | Free | Full-quality preview on click |
| MQTT Explorer | Debugging the pipeline | MQTT client | Free (open source) | See every message the doorbell sends |
The apps
1. Home Assistant, best all-round
Home Assistant is the automation layer that supports every mainstream doorbell brand and a lot of the DIY ones. Set up an automation that fires on the doorbell’s “ring” event and calls the notify.mobile_app_desktop service, and every PC signed into the HA Companion app on Windows or macOS gets a toast with a snapshot attached.
Where it falls short: Setup takes an afternoon. Docker or a Home Assistant OS install, plus the correct integration for the doorbell brand, plus the Companion app on each PC. Nothing here is one-click.
Pricing:
- Free: fully self-hosted
- Paid: Home Assistant Cloud is $6.50/month if you want remote access without a VPN
Platforms: Runs on Linux, Docker, HA OS; clients on Windows, macOS, Linux, iOS, Android
Download: home-assistant.io/installation
Bottom line: The most flexible answer, and the one worth the setup cost if you plan to route more than doorbells later.
2. ntfy, best for simple self-hosted push
ntfy is a pub/sub push service you can run in a Docker container or use via ntfy.sh’s public server. Give the doorbell integration a webhook URL like https://ntfy.example.com/frontdoor and desktop clients subscribed to that topic get an OS notification.
Where it falls short: Snapshot attachments work but require the file be reachable at a URL, which means the doorbell’s snapshot has to live on a small HTTP server or in the ntfy message itself.
Pricing:
- Free: self-hosted and public-server tiers
- Paid: ntfy.sh Pro from $5/month for higher rate limits
Platforms: Linux, macOS, Windows (desktop clients); browser subscription too
Download: ntfy.sh or github.com/binwiederhier/ntfy
Bottom line: Pick ntfy if you want push without an automation layer. curl -d "Doorbell" ntfy.sh/frontdoor is the whole integration.
3. Pushover, best for a paid but hands-off option
Pushover is the veteran push service. The doorbell integration hits a POST endpoint, the Pushover desktop clients for Windows, macOS, and Linux surface the notification, and priority levels let you make the doorbell “emergency” so it bypasses focus mode.
Where it falls short: One-time $5 charge for each platform’s desktop client. Not expensive, but worth mentioning against free options.
Pricing:
- Free: 10,000 messages/month per app
- Paid: $5 one-time per desktop platform
Platforms: Windows, macOS, Linux (desktop); iOS, Android (mobile)
Download: pushover.net/clients
Bottom line: The cleanest paid option. Buy it once, never think about the pipeline again.
4. Gotify, best for offline networks
Gotify is a self-hosted push server that stays entirely on your LAN. The doorbell posts to http://gotify.local:8080/message, and the Windows or Linux client subscribed to the same server shows a toast within a second.
Where it falls short: No native macOS client at feature parity. Linux and Windows are well-supported; on macOS a browser tab is the current workaround.
Pricing:
- Free
- Paid: none
Platforms: Linux, Windows (native clients); browser for macOS
Download: gotify.net or github.com/gotify/server
Bottom line: Best fit when the doorbell must not touch a third-party cloud.
5. Node-RED, best for wiring extra logic
Node-RED is a flow editor that sits between the doorbell and the notifier. Drop in an MQTT node listening for the doorbell topic, a “person detected” filter node, and an HTTP request node to your push service, and only real rings surface. Silences the mail-carrier tap-and-run.
Where it falls short: Flow editing has a learning curve. First-time users often duplicate what Home Assistant does out of the box.
Pricing:
- Free
- Paid: none
Platforms: Linux, Windows, macOS
Download: nodered.org
Bottom line: The upgrade path once Home Assistant automations start feeling limiting.
6. Frigate, best for a DIY doorbell
Frigate is a video pipeline that turns a Raspberry Pi and a Coral TPU into a person-detecting NVR. Point it at any IP camera you have mounted at the front door and it publishes a “person detected” MQTT event before the doorbell even rings. Home Assistant listens to that event and toasts your PC.
Where it falls short: Requires a hardware accelerator (Coral TPU or a modern iGPU) for real-time detection. CPU-only setups miss events.
Pricing:
- Free (Frigate) plus hardware
- Paid: Frigate+ dataset subscription from $5/month for improved detection
Platforms: Linux, Docker (server); notifies any desktop via Home Assistant
Download: frigate.video
Bottom line: For homes where the “doorbell” is a camera and a physical button you added yourself.
7. Reolink Desktop, best for Reolink doorbell owners
Reolink Desktop is the vendor client for the Reolink Video Doorbell. On a Windows or macOS machine it pops a picture-in-picture window on ring, and clicking through opens the full stream. Not open source, not customizable, but it works out of the box with no server.
Where it falls short: Only Reolink devices. Notifications go through Reolink’s cloud, so an ISP outage kills the pipeline.
Pricing:
- Free
- Paid: Reolink Cloud plans from $3.49/month for storage (not required for notifications)
Platforms: Windows, macOS
Download: reolink.com/software-and-manual
Bottom line: Zero-effort option for Reolink hardware. Pair it with Home Assistant if you want redundancy.
8. MQTT Explorer, best for debugging the pipeline
MQTT Explorer is not a notifier, it is the tool that tells you why the notifier is silent. Point it at your Home Assistant or Mosquitto broker and every message the doorbell publishes shows up in real time, with payload and timestamp. Ninety percent of “the doorbell rang but nothing pinged” issues turn out to be a wrong topic subscription.
Where it falls short: UI has not been updated in a while. Works well, looks old.
Pricing:
- Free
- Paid: none
Platforms: Windows, macOS, Linux
Download: mqtt-explorer.com
Bottom line: Install it once, use it every time something breaks. Skip it when everything works.
How to pick the right one
Pick Home Assistant if you are willing to spend an afternoon setting it up. It handles every case below plus everything else in the house.
Pick ntfy for a two-command self-hosted push pipeline with no automation layer.
Pick Pushover if you want the least effort and are fine paying $5 once per platform.
Pick Gotify when the doorbell has to stay on the LAN, with no third-party cloud in the loop.
Pick Node-RED as the second tool once basic notifications work and you want person-only filtering.
Pick Frigate if the doorbell is a camera and a button you assembled.
Pick Reolink Desktop if the hardware is Reolink and you want zero configuration.
Pick MQTT Explorer when nothing is arriving and you need to see what is being published.
FAQ
Which desktop notification path is fastest? Home Assistant Companion plus a local Mosquitto broker delivers under 500 ms in most setups. Anything routed through a third-party cloud adds 300-800 ms.
Do I need to open a port on my router? No. Every option here works over the LAN, and remote access can be added later with Tailscale or Home Assistant Cloud.
What if I already run Ring or Nest? Both integrate with Home Assistant through official integrations. Ring’s is fully local via a bridge, Nest’s routes through Google’s cloud.
Can I include a snapshot in the notification? Yes, on Home Assistant (native), ntfy (via attachment URL), and Pushover (image attachment API). Gotify supports it in the desktop client but not the browser.
Does the doorbell need to be on the same VLAN as my PC? No, but keeping them together simplifies things. Many people keep IoT on a separate VLAN and expose only the automation server to their main network.