A pacemaker for your services.
Watches your services. Restarts them if they stop. That's the whole product.
One thing, done well
It restarts services that stop. Nothing else. No plugins, no alerting platform, no dashboard to configure. The whole product is 500 lines of Go.
No dependencies
A single static binary. No Python, no runtime, no agent framework. Copy it to /usr/local/bin, run it, forget it.
Read-only, local only
The status page binds to 127.0.0.1. The binary makes zero network calls. It doesn't accept commands from anywhere. It just watches and restarts.
Why a pacemaker?
A cardiac pacemaker sits quietly in a patient's chest. It watches the heartbeat. When the rhythm fails, it emits a pulse. When the rhythm is normal, it does nothing. It doesn't diagnose, doesn't alert, doesn't coordinate with the hospital. It just keeps the heart beating.
Serverpacemaker does the same for your services. It watches a list of systemd units. If one stops, it restarts it. That's the entire job. It has no buttons to press, no config to learn beyond a JSON file, no integrations to wire up. It does one thing, forever, without your attention.
What it does
- Watches the services you tell it about
- Restarts them if they stop
- Logs every restart to a plain text file
- Shows current state on a local read-only page
- Compares current services against a pre-install baseline
- Runs forever on under 3 MB of RAM
What it doesn't do
- No Docker, Kubernetes, or container orchestration
- No Windows, macOS, or BSD support
- No multi-server console
- No email, Slack, or Telegram alerts
- No webhooks or incoming commands
- No config editing over the network
Is this your configuration?
Serverpacemaker is built for one specific case. Before you buy, check that your server matches.
- Ubuntu 22.04 LTS or Ubuntu 24.04 LTS
- systemd as the init system (standard on Ubuntu)
- A handful of services to keep running — nginx, php-fpm, redis, database, firewall, etc.
- Root access to the server
- Not part of a Kubernetes or Nomad cluster
- No Windows, macOS, or BSD support needed
If your configuration matches, scroll down to get the binary.
If your configuration doesn't match, we can build a custom version for you.
Get Serverpacemaker
One-time purchase. Perpetual license for one server.
$29. No subscription. No telemetry. No phone-home activation.
The binary is a static Linux x86-64 executable. It has zero dependencies and requires nothing on the server except Ubuntu with systemd.
Payment and download delivery will be live shortly. For now, email us and we'll send the binary directly.
What it looks like in practice
Running status check:
$ sudo serverpacemaker --status
serverpacemaker v6.0P
Host: dailyshipdev
Platform: linux-systemd
Config: /etc/serverpacemaker.json
Log: /var/log/serverpacemaker.log
Services monitored:
nginx.service running
php8.3-fpm.service running
redis-server.service running
Pre-install baseline: /var/lib/serverpacemaker/baseline.txt
What it logs when a service stops:
[2026-09-14 03:12:05] service_restarted: nginx.service was down; restarted
[2026-09-14 03:14:00] service_restart_failed: php8.3-fpm.service still down after restart
The config file is seven fields:
{
"services": ["nginx.service", "php8.3-fpm.service"],
"interval_seconds": 60,
"alert_log": "/var/log/serverpacemaker.log",
"dashboard_enabled": true,
"dashboard_port": 8080,
"dashboard_bind": "127.0.0.1",
"log_max_bytes": 1048576
}
Frequently asked questions
Doesn't systemd already have Restart=?
Yes. And for many people, that's enough. But systemd only restarts a service if the process exits. It doesn't detect a service that's still running but broken. And most people don't configure Restart= at all. Serverpacemaker is for them.
Isn't Monit free?
Yes, and it's a solid tool. But Monit requires learning a config DSL, and its status page hasn't changed since 2005. Serverpacemaker is a JSON file and a modern read-only dashboard. If Monit works for you, keep using it.
What if it restarts something during an upgrade?
It doesn't know about upgrades. If you stop a service for maintenance, Serverpacemaker will restart it within a minute. That's why there's a pause system: sudo serverpacemaker → Settings → Pause for 5, 15, 60, or 120 minutes. Interactive-only, no scripting.
Does it phone home?
No. It never makes outbound network connections. Ever.
What about security updates for Serverpacemaker itself?
Every release is a new binary. We email all customers when a new version is available. You install it manually. No auto-update, no silent changes.
What if I need to reinstall on a new server?
Each purchase includes three free reinstalls within the first 12 months. Email us with a copy of your Stripe receipt and we'll reset your activation. After three reinstalls, or after 12 months, you'll need a new license. We don't track your server, and we don't phone home — we just verify the receipt.
Can I run it on more than one server?
The license is per server. If you have three servers, buy three licenses. Or email us about a fleet discount.
What if I have a different Linux distribution?
The standard binary supports Ubuntu 22.04 and 24.04. For anything else, we can build a custom version.
Try it
If you're not sure whether Serverpacemaker is right for you, email us. We'll send you the binary to test on your own server. No charge until you've confirmed it works.