When you’re running your own home server, self-hosted services, or tinkering with home automation, receiving timely notifications is crucial—whether it’s to alert you about motion detection, a door unlocking, or a backup script that just finished.
Most push notification services like Pushover, Pushbullet, or Notify17 are great—but they often come with subscription costs, API limitations, and privacy trade-offs.
Enter ntfy
— a free, open-source, and cross-platform push notification app that gives you full control over your messages.
🔍 What is ntfy
?
ntfy
(pronounced notify) is:
- 🆓 Open-source and self-hostable
- 📱 Cross-platform – works on Android, iOS, and the web
- 📡 Supports web push, app push, and REST API
- 🔐 No account required when self-hosted
- 🧩 Works out-of-the-box and supports topics, message actions, attachments, and more
GitHub repo: https://github.com/binwiederhier/ntfy
💡 Why Choose ntfy
Over Premium Alternatives?
Feature | ntfy (Self-hosted) | Pushover | Pushbullet |
---|---|---|---|
Free Tier | ✅ Full features | 🚫 Limited | 🚫 Limited |
Self-hostable | ✅ Yes | ❌ No | ❌ No |
Custom Actions | ✅ Yes | ✅ Yes | ✅ Yes |
Privacy | ✅ Full control | 🚫 Shared infra | 🚫 Shared infra |
If you’re a maker, sysadmin, or automation enthusiast, ntfy
provides freedom and flexibility without compromise.
🛠️ Step-by-Step Setup of ntfy
with Docker
You can get started with just a single command using Podman or Docker.
podman run -p 88:80 -it binwiederhier/ntfy serve
💡 Tip: You can use
docker
in place ofpodman
if you’re on Docker Desktop.
This launches ntfy
on port 88 of your local machine.
📍Access it at http://localhost:88
🌍 Make It Public: Expose ntfy
to the Internet Using cloudflared
If you want to receive notifications on your phone while away from home, you’ll need to expose your local server. cloudflared
makes this super simple and secure.
🔧 Install cloudflared
Install cloudflared with command winget install --id Cloudflare.cloudflared
Run this command:
cloudflared tunnel --url http://localhost:88
This will generate a temporary public URL like:
https://randomname.trycloudflare.com
Now you can access your ntfy
server over the internet! ✨
🔐 Why cloudflared
?
- No port forwarding required
- Free
- Encrypted tunnel via Cloudflare
- Great for prototyping and hobbyist projects
🔔 Subscribe to a Topic in the Web UI
- Open the cloudflared URL in a browser.
- Enter a topic name (e.g.,
home-alerts
) in the input field. - Click Subscribe.
- You’re now ready to receive messages on that topic!
📱 Install Ntfy Android App on Emulator
If you’re using BlueStacks or any Android emulator:
- Open Play Store in emulator.
- Search and install:
ntfy
- Open the app, tap Subscribe, and enter:
https://randomname.trycloudflare.com/home-alerts
- You’re now subscribed via mobile. You’ll see incoming push notifications in real-time!
📤 Sending Notifications
You can send notifications directly via:
1. Web UI
- Navigate to your topic
- Type a message and hit Send
2. Terminal using curl
curl -d "Motion detected in backyard" \
https://randomname.trycloudflare.com/home-alerts
3. With Actions (Custom Buttons)
curl -H "Title: Door Alert" \
-H "Click: http://192.168.1.1/unlock" \
-d "Front door opened! Tap to unlock." \
https://randomname.trycloudflare.com/home-alerts
This lets you create interactive notifications like “Unlock Door”, “View Camera”, or “Dismiss”.
✅ Verify Across Platforms
Try sending multiple messages and verify they are received:
- ✅ On the web UI
- ✅ On Android Emulator
- ✅ On any subscribed browser tab
All clients should receive the message instantly.
🏡 Use Cases for Home Automation
- 🔐 Door Open/Close Alerts
- 🎥 Motion Detection from IP Camera
- 🧺 Laundry Done Notification
- 💡 Light/AC Auto Turn-Off Confirmation
- 💾 Backup Completed
- 📦 Download Complete from Home Server
With ntfy
, your DIY smart home becomes smarter, and your self-hosted stack becomes more responsive.
🧪 Final Thoughts
Setting up your own push notification service doesn’t have to be complex or expensive. ntfy
proves that simple, secure, and self-hosted solutions are within everyone’s reach — especially for developers and automation enthusiasts.
👉 Try it out and explore the endless integrations — from Home Assistant, Node-RED, Python scripts, to Docker event hooks.
🔗 Resources
- GitHub: https://github.com/binwiederhier/ntfy
- Docker Hub: https://hub.docker.com/r/binwiederhier/ntfy
- Cloudflared Docs: https://developers.cloudflare.com/cloudflared/
- Android App: Google Play – ntfy
📣 Have you tried setting up ntfy? Share your use case in the comments or tag me on LinkedIn!
🔁 Don’t forget to share this with fellow developers or home automation geeks!