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.
curl -d "Hello" http://your-vps/your-topic — zero SDK, zero library dependency.X-Delay: 30min) to schedule reminders from scripts.X-Attach header or multipart upload.ntfy user and ntfy access CLI; publish-only or subscribe-only tokens.Send a notification when a build passes or fails: curl -d "Build #$BUILD_NUMBER failed" https://your-domain.com/builds. A CI runner is a third-party machine, so it needs your server's public address — attach a domain to the VPS and ntfy answers on it over HTTPS; without one it only listens on the VPS loopback and no runner can reach it. 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.
With a domain attached, publish from any device with curl: curl -d "Hello from my VPS" https://your-domain.com/my-topic, then open the ntfy web UI at https://your-domain.com — no port number in a public URL — and select the my-topic channel to watch your message appear live. Without a domain there is no public address: open an SSH tunnel with ssh -L 8080:127.0.0.1:8080 root@your-vps-ip, publish with curl -d "Hello from my VPS" http://localhost:8080/my-topic and browse to http://localhost:8080, using the port shown on your app's card in the ServOrbit client area (8080 is the catalogue default and another one is allocated if it is already taken). 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.
Maintaining a project that uses ntfy? This button lets your readers deploy it on a VPS in one click, without reading Docker documentation.
[](https://servorbit.com/vps-cloud?template=ntfy&utm_source=deploy-badge&utm_medium=referral&utm_campaign=ntfy)<a href="https://servorbit.com/vps-cloud?template=ntfy&utm_source=deploy-badge&utm_medium=referral&utm_campaign=ntfy"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy ntfy on ServOrbit" height="40"></a>The button points to a VPS order with the template preselected. The image is served from servorbit.com — nothing to host on your side.
Visualize the metrics of your infrastructure and applications. Customizable dashboards, multi-channel alerts, multiple sources.
Monitoring & ObservabilityReal-time metric collection and querying. The de facto standard for monitoring Kubernetes, Docker and microservices.
Monitoring & ObservabilitySimple, visual availability monitoring. Watch your HTTP, TCP and DNS endpoints and receive instant alerts.
Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.