Monitor your infrastructure.
Self-hosted push notifications — send alerts from scripts, CI/CD and monitoring tools with a plain HTTP PUT/POST. Under 30 MB RAM, no database.
ntfy (pronounced "notify") is an open-source HTTP-based pub/sub notification service (~32 k GitHub stars, Apache 2.0, v2.26.3). You publish a message to a topic with a plain HTTP PUT or POST request — `curl -d "Build passed" http://your-vps/builds` — and any subscriber (ntfy mobile app, web app, or any HTTP client) receives the notification instantly.
Self-hosting ntfy on a ServOrbit VPS gives you private, unlimited topics with no rate limits, no account creation and no monthly fee. The single Go binary runs in a single Docker container using under 30 MB of RAM with a SQLite message cache — no PostgreSQL, no Redis, no complex setup. Access control, user accounts and token auth can be added incrementally via the ntfy CLI, or kept open for a private VPS where only your scripts connect.
ntfy integrates with every monitoring and automation tool that can make HTTP calls: Uptime Kuma, Beszel, Changedetection.io, Grafana, Home Assistant, GitHub Actions, GitLab CI, AWX, cron jobs, Bash scripts, Python, Go — anywhere you can run curl. A multi-platform mobile app (Android + iOS) and a web UI let you subscribe to any topic and receive push notifications in real time, whether the VPS is on a private network or a public IP.
Send a notification when a build passes or fails: `curl -d "Build #$BUILD_NUMBER failed" http://vps:8080/builds`. Works natively in GitHub Actions, GitLab CI, AWX, Jenkins — any CI that can run curl. No Slack workspace, no email thread, instant push to your phone the moment the pipeline finishes.
Uptime Kuma, Beszel, Changedetection.io and Grafana all support ntfy as a notification channel. Point them at your self-hosted ntfy instance and every monitoring alert — service down, disk full, price changed — goes to the same ntfy app on your phone in real time. One notification server, every monitoring tool.
Wrap long-running cron scripts: `0 3 * * * /usr/local/bin/backup.sh && curl -d "Backup OK" http://vps/nightly-backup`. Silence means the backup failed; a push notification confirms it ran. Zero cron-monitoring SaaS required — a single curl call at the end of each job is enough.
Guide optimized for ServOrbit Cloud VPS.
Any plan with 512 MB RAM is more than sufficient — ntfy idles under 30 MB RAM and has no GPU or heavy dependency requirements. Co-locate it alongside Beszel or Uptime Kuma on any existing VPS to build a complete self-hosted alerting stack at no extra cost.
Open your ServOrbit dashboard → Marketplace → Monitoring → ntfy → Deploy. Docker pulls binwiederhier/ntfy:latest, starts the ntfy server on port 8080, and the web UI is accessible within 5 seconds. No configuration file required to get started.
From any device with curl: curl -d "Hello from my VPS" http://your-vps-ip:8080/my-topic. Open the ntfy web UI in your browser at the same address, navigate to the my-topic channel and you will see your message appear live. Topics are created on first publish — no prior setup needed.
Install the ntfy app (Android: F-Droid or Google Play; iOS: App Store). Tap the + button, enter your server URL and topic name. You will receive push notifications the moment anything publishes to that topic. Topics can be any string — use names like ci-builds, server-alerts or cron-jobs to organise by source.
In Uptime Kuma: Settings → Notifications → ntfy → set Server URL and Topic. Repeat for Beszel, Changedetection.io and Grafana — each points to the same ntfy server with a distinct topic name. All your monitoring services now send to one self-hosted notification hub, routed to your phone in real time.
Browse our help center and FAQ, or write to our team — support in French, English and Arabic.