Self-hosted help desk vs cloud for small business: what the server really costs
“Self-hosted or cloud?” sounds like a technical question. For a small business it is mostly a question about who gets paged when the help desk is down, because the help desk is the one system people use when something else is already broken.
This piece is a decision framework, not a ranking. It uses the published terms of two real products at opposite ends of the spectrum, and it marks clearly where a number is a published price and where it is an assumption you should replace with your own.
The license price is the smallest line item
Most self-hosted help desks have a $0 download. That is a real advantage, and it is also the least informative number in the comparison. What you actually pay for with self-hosting is a list of jobs that a cloud vendor otherwise does for you:
- Provisioning and sizing a server (or VM, or container host) and a database.
- Patching the OS, web server, language runtime, and the app itself.
- Backups, and, more importantly, tested restores.
- Email intake, which means mail server connectivity, TLS certificates, and spam handling.
- Monitoring, so you learn the help desk is down before your users tell you (they can’t tell you through it).
- Upgrades between application versions, including the ones that change the database schema.
None of these is hard for a competent admin. All of them recur forever, and all of them land on whoever is already the busiest technical person you have.
What the vendors themselves say the split is
osTicket: the free edition is explicitly “you run it”
osTicket’s editions page, checked 2026-10-12, lays the split out in a table. The open-source edition is listed at no cost with community-only support, and managed upgrades and maintenance, plus the uptime guarantee and backups, are listed as not included. The cloud-hosted edition starts at $12/agent/mo and lists managed upgrades, backups, uptime, and phone and email support as included, with a 30-day free trial.
That table is a useful template for any self-hosted vs cloud decision, because the rows that differ are exactly the jobs from the list above. The price difference is what the vendor charges to take those rows off your plate.
Zammad: the same split, priced as support contracts
Zammad is a more modern open-source help desk, and its pricing page, checked 2026-10-12, shows the trade-off in a different shape.
Hosted by Zammad, plans are per agent per month, excluding VAT. Starter is €7 annual or €9 monthly (max 5 agents), Professional is €16 annual or €18 monthly (max 35 agents), and Plus is €25 annual or €27 monthly (unlimited agents). The page states hosted pricing covers updates, backups, and security, which Zammad manages.
Self-hosted, the page lists annual service packages rather than per-agent prices: Business at €2,999/year, Enterprise at €5,999/year, and Corporation at €9,999/year, with response-time commitments and email support at Business, and phone support from Enterprise up. The page does not say whether the software itself is free, so we won’t claim that here; it only shows the paid service packages. Self-hosted contracts also carry a 90-day cancellation notice before the contract year ends.
Notice what that means for a small team: the supported self-hosted path is priced for organizations with a budget line for support contracts. A five-agent team on hosted Starter at the annual rate would pay €35/month on those published numbers, far below a €2,999 annual package. You can of course self-host without a package, but then you are back to doing the whole job list above yourself.
A cost model you can fill in yourself
Here is a simple way to compare, with the assumptions made explicit. Replace the placeholders with your own figures.
Cloud annual cost = (agents × per-agent monthly price × 12).
Self-hosted annual cost = hosting (VM, backups storage, domain/TLS) + (admin hours per month × 12 × your loaded hourly rate) + the expected cost of downtime.
Two honest notes on that formula:
- Admin hours are the swing variable, and we are not going to invent a number for you. A team that already runs a patched, monitored Linux fleet may add very little marginal work. A team where “IT” is one person who also fixes printers adds a lot, and it arrives as interruptions, not neat blocks.
- Downtime is not symmetrical. If the help desk goes down on the same day as a network outage, you have lost your ticket history, your SLA clocks, and your CMDB at exactly the moment you need them.
A worked example with placeholders: if hosted costs 5 agents × $12 × 12 = $720/year (osTicket cloud’s published starting price), self-hosting only wins if the total of hosting plus your time stays below that. Even one hour a month at a modest loaded rate gets close. That’s an illustration of the arithmetic, not a claim about what your costs are.
When self-hosting is genuinely the right call
Self-hosting isn’t a mistake. It is the right answer when:
- Data residency or air-gap rules forbid a third-party SaaS. This overrides cost.
- You already operate the stack and the help desk is one more container on infrastructure you patch anyway.
- You need to modify the application in ways a hosted plan doesn’t allow. (osTicket’s table lists customization as unavailable on its cloud edition.)
- The team is large enough that per-agent pricing exceeds a flat support contract, which is the shape of Zammad’s self-hosted packages.
If none of those apply, the case for self-hosting is mostly “the download is free,” which is the weakest argument on the list.
When cloud is the better default
Cloud tends to win for the buyer we think about most, a small IT service provider or MSP with two to ten technicians:
- Your help desk is a revenue system. Clients’ tickets are the product. Downtime is a missed SLA you may owe credit for.
- Nobody is dedicated to ops. Every hour spent on the help desk’s server is an hour not billed.
- Growth is lumpy. Adding a seat should be a pricing decision, not a capacity-planning exercise.
- Phone and SMS need telephony. Voice and text channels depend on carrier connections and public reachability, which is a lot to bolt onto a self-hosted tool. We covered that gap in an osTicket alternative with phone support and in setting up a help desk phone line.
The questions to ask before you decide
- Who restores it at 2 a.m.? Name a person. If the answer is “whoever notices,” price that risk.
- When did you last test a restore? An untested backup is a hope.
- What happens to in-flight tickets during an upgrade? Ask for the upgrade procedure before you commit.
- Can you export everything? This matters in both directions. Hosted tools should give you your data on exit; self-hosted ones put exporting entirely on you.
- What does the per-seat curve look like at double your size? Our breakdown of help desk cost for a small team works through that for several vendors.
A middle path: start hosted, keep your options open
The choice is not permanent. Many teams begin on a hosted free tier, learn what they actually need, and revisit self-hosting only if a hard requirement (residency, customization) appears. Starting hosted costs a few minutes; starting self-hosted costs a weekend plus the ongoing job list. If you’re moving off a shared inbox, how to move from a shared inbox to a help desk covers the first steps either way.
Where ITSM fits
ITSM is a hosted, multi-tenant help desk with incidents, requests, problems, changes, KB, CMDB, and SLA tracking. Voice is built in rather than assembled: an AI phone agent that answers using live ticket data, plus an optional browser softphone and two-way SMS. The free tier is two seats at $0 with instant signup; Basic is $29/month with three seats included and extra seats at $5/month. You can sign up at /register and try it without a server.
If you have a data-residency rule that rules out SaaS, ITSM is not the right tool for you, and a self-hosted option like those above is the honest answer.
ITSM is a small product with a free tier, so try it against your real workflow before you commit.
Practical help desk guides + honest product notes. About one email a week. Unsubscribe anytime.