Pricing

Free to run yourself. Five dollars not to.

Every feature is in the open-source build. The paid plan buys operations — backups, updates, uptime — not unlocked functionality.

Self-host
$0forever

The entire platform, running on your own infrastructure. No feature is held back.

Read the deploy guide
  • Every feature — nothing gated
  • Unlimited users, forms, and bookings
  • Google & Outlook calendar sync
  • Signed webhooks and scoped API keys
  • Your database, your data, your domain
  • MIT licensed — fork it if you like
Recommended
Hosted
$5/month

The same software, run for you. Upgrades, backups, and uptime are our problem.

Start hosted
  • Everything in Self-host
  • Managed Postgres with daily backups
  • Automatic updates and security patches
  • Email delivery configured out of the box
  • 99.9% uptime target
  • Email support

No credit card to self-host · cancel hosted anytime · no per-seat pricing

Side by side

The difference is who runs the server

FeatureSelf-hostHosted · $5
Booking pagesUnlimitedUnlimited
Contact formsUnlimitedUnlimited
Calendar sync (Google, Outlook)
Signed webhooks
Scoped API keys
Email themes + custom HTML
Audit log
DatabaseYou run itManaged + backups
Updatesgit pullAutomatic
Uptime targetYours to keep99.9%
SupportGitHub issuesEmail
Data locationAnywhereSingapore

What self-hosting actually costs

In monolith mode HaloMail is one container plus a Postgres database. At portfolio scale that fits inside free tiers — the guide walks through the exact providers and settings.

Deploy it yourself
Hobby — free tiers, monolith$0
Small — always-on 256 MB + managed Postgres$5–10
Growth — services scaled independentlyper service

Questions about the money.

Short version: the code is free and always will be. Five dollars a month means you never have to think about Postgres upgrades again.

Read the docs

Is the free tier crippled?

No. Self-hosting gives you every feature in the codebase — there is no enterprise edition and no license key. You are paying for operations when you choose hosted, not for features.

What does $5 actually cover?

A managed Postgres with daily backups, automatic deploys of new versions, configured email delivery, and someone to email when something breaks.

Can I move between them?

In both directions. It is the same schema and the same API, so a database dump moves your data either way. No export fees, no lock-in.

What does self-hosting really cost?

In monolith mode it fits the free tiers of a container host plus a managed Postgres — genuinely $0 at small scale. An always-on instance with more headroom runs roughly $5–10/month.

Do you charge per seat?

No. One price covers your whole team, however many people that is.

Is there a trial or a refund?

Self-hosting is the trial — run the exact same software for as long as you like before paying anything. Cancel hosted whenever; billing stops at the end of the period.

Start free. Upgrade only if you get tired of ops.

Same software either way — moving between them is a database dump.