Back

Healthchecks VPS Hosting, Pre-Installed

A Healthchecks VPS lets you watch your backups and cron jobs from your own server. Each check gets a ping address: your job calls it when it finishes, and if the call doesn't arrive on time, you get an alert. After you order, Healthchecks installs itself, and the site address, email and password appear in your panel.

How many people will use it?

Total$2.58/mo

Prices include VAT.

Scale RAM and CPU up or down whenever you like. Disk can only grow, so start small.

What's installed on your Healthchecks server?

  • Healthchecks 5.0 on the official image
  • SQLite database, so no separate database server is needed
  • The alert and report processes (sendalerts, sendreports) running inside the container
  • An administrator account, with the login email and password in your panel
  • Sign-up closed, so no one else can register
  • HTTPS through Caddy on an sslip.io address based on your IP
  • Firewall with only ports 22, 80 and 443 open

What size do you need for Healthchecks?

Healthchecks' docs don't give a RAM figure. As a rule of thumb, 1 GB is a good start, since the app mostly answers ping requests and sends alerts in the background. If you need to save memory, the docs point to the GUNICORN_WORKERS setting. Look at 2 GB as your checks and ping history grow. By default, the last 100 pings are kept for each check, and an account can hold up to 10,000 checks.

UseSizePriceChoose
A few people 1 GB RAM · 1 vCore · 25 GB NVMe $2.58/mo
Small team 2 GB RAM · 1 vCore · 40 GB NVMe $4.01/mo
Company 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/mo

Who is it for?

  • Admins who want proof that last night's backup actually ran
  • Developers with cron jobs and scheduled tasks to keep an eye on
  • Agencies watching jobs across several projects
  • Anyone who'd rather not keep job monitoring data with an outside service

What happens after you order?

  1. Set the size and complete your payment.
  2. Your server starts and Healthchecks installs itself. It's done when the App row in your panel says Healthchecks is ready.
  3. On the Overview tab, click Open app and log in with the details from the Email and Password rows.
  4. For email alerts, add settings such as EMAIL_HOST to compose.yaml, or connect a webhook instead.
  5. Create a check and set its period and grace time.
  6. Add a curl call to the ping address at the end of your job.

With every server

  • Daily backups included in the price
  • Unlimited traffic
  • Full root access
  • Scale RAM and CPU up or down later, and grow the disk
  • Location: Istanbul · IST-1.

Good to know

  • The install doesn't set up outgoing email. Healthchecks sends alerts, reports and login links by email, so none of these go out until you add settings such as EMAIL_HOST to /opt/seturack/healthchecks/compose.yaml.
  • Telegram, Discord, Pushover and Matrix need extra keys on the server. Webhooks work without them.
  • If Healthchecks stops, alerts stop too. For important jobs, keep this server separate from the servers you're watching.
  • Treat ping addresses as secrets. Anyone who has one can mark that job as successful.
  • The interface is English only.
  • The install uses SQLite. The project lists PostgreSQL or MySQL as its self-hosting building blocks, so plan a database move if you run a lot of checks with heavy pinging.

Healthchecks questions and answers

How much RAM does Healthchecks need?

Healthchecks' docs don't give a RAM figure. As a rule of thumb, 1 GB is a good start, and 2 GB suits a growing number of checks and more ping history. If it isn't enough, you scale up from your panel.

How does Healthchecks work?

Each check has its own ping address, an expected period and a grace time. Your job calls the address when it finishes. If the call is late and the grace time runs out, the check goes down and alerts are sent.

How do I add Healthchecks to a cron job?

Copy the check's ping address and add it to your crontab line, like this: /root/backup.sh && curl -fsS -m 10 --retry 5 -o /dev/null PING_ADDRESS. If the backup fails, the ping doesn't go out and you get an alert when time runs out.

Can a job report that it failed?

Yes. Add /fail to the ping address to report a failure straight away, /start to mark the beginning of a run, or an exit code. That way you don't have to wait for the time limit when a job errors out.

Which alert channels does Healthchecks support?

Webhooks, Slack, Microsoft Teams and PagerDuty are on by default and need no keys on the server. Email needs SMTP settings. Telegram, Discord and Pushover need keys from those services added to compose.yaml.

How is this different from a site monitor?

A tool such as Uptime Kuma sends requests to your site from outside. Healthchecks works the other way round: the job calls in when it's done, and silence triggers the alert. That means it can watch backups and cron jobs that have no public address.

Can I use my own domain with Healthchecks?

Yes, but ping addresses are built from the site address, so connect the domain before you create checks. You'll need an A record, the Caddy settings and SITE_URL, SITE_HOST and SITE_ADI in the .env file. If you change it later, update the addresses in your jobs.

Read more and see similar apps