Self-hosting 5 min read

When self-hosting saves NGOs money and when it doesn't

self-hosting is a trade, not a discount.

NGOs often hear the same pitch: stop paying for SaaS, host the tool yourself, and use it for free.

The sentence is half true.

The software licence may cost nothing. The service still needs a server, updates, backups, monitoring, access control, and someone who understands what happens when the disk fills at 2 a.m.

I run self-hosted infrastructure, and I like it when the trade makes sense. I do not recommend it because free software feels virtuous. I recommend it when the organization can carry the operating work.

The real cost model

A small virtual private server can cost $10 to $40 per month. That may cover a modest application, a database, and a private file service, depending on usage. The invoice is easy to see.

The setup time is less visible.

Someone has to configure the server. They need to set up the operating system, firewall, domain, TLS certificates, user accounts, and application settings. They need to decide where uploaded files live and how the application sends email.

A careful setup can take a day for a simple service. A system with several connected services takes longer. The cost depends on the person doing the work and the consequences of a mistake.

Updates continue after launch. A package needs a security update. The application changes its environment variables. A database version reaches end of support. An update works in testing but breaks a form used by field staff.

Backups need attention too. A backup job that reports success may still produce unusable files. Someone needs to restore a copy and check that the data opens. A backup that has never been restored is a hope, not a recovery plan.

Monitoring adds another line. The team needs to know when the server runs out of storage, when certificates approach expiry, or when a service stops responding. Monitoring does not need to be fancy. It does need an owner.

The cost that kills more NGO self-hosting plans is staff dependency.

One technically capable person sets up the server. That person changes jobs. Their password is in a private note. The domain is registered to their personal email. No one knows which Docker volume contains the database. The organization still has a server, but it no longer has a service.

Staff dependency is a cost line. If the organization needs six hours from a sysadmin each month, and that time costs $35 per hour, maintenance adds $210 per month. The $20 server is not the full price.

When self-hosting can save money

Per-seat pricing changes the calculation when more than 20 staff use a tool every day.

Take file storage. A hosted service may charge per user, with a higher tier needed for storage, sharing controls, or audit history. An NGO with 25 staff can pay hundreds of dollars each month before adding volunteers or external collaborators.

A self-hosted file service may reduce the recurring bill, but only if the organization can maintain storage, backups, permissions, and reliable access. The saving comes from avoiding a per-seat charge at a scale where the maintenance work stays manageable.

Form tools can follow the same pattern. If a casework team, monitoring team, and field team all submit forms every week, a self-hosted form platform can make sense. The server cost stays close to the same while usage grows, although storage and support needs increase.

Chat is another case. A team of 25 people may use a hosted chat service that charges for each active account or limits message history on its free tier. A self-hosted chat service can keep the full history under the organization’s control. That only helps if someone manages accounts and handles mobile and desktop access when the service changes.

Funders sometimes create a separate reason. A grant may require beneficiary data to remain in a named country or region. A hosted vendor may not offer the required location, or may not provide clear information about subcontractors and backups.

A VPS in the required region does not automatically satisfy the funder. The organization still needs access rules, backup locations, retention policies, and written answers about who can reach the data. Self-hosting can make the storage location possible. It does not make the governance complete.

The strongest case is a tool used daily by nearly everyone. The organization gets value from the system every working day, and the maintenance cost spreads across a real operational need.

When it does not save money

Do not self-host a tool used by two people just because an open-source alternative exists.

If a hosted tool costs $15 per month, that is $180 per year. Three hours of a sysadmin’s time at $35 per hour costs $105. Add one failed update, a backup check, and an afternoon spent diagnosing email delivery. The saving has disappeared.

Mission-critical services need a higher standard. If the organization depends on the tool for beneficiary records, payroll, grant reporting, or emergency coordination, someone must be available to maintain it. “We can call the person who built it” is not a maintenance plan.

The same applies when no one on staff can read the logs, rotate credentials, restore the database, or explain the backup schedule. The software may be free, but the operational risk is not.

Chasing a free alternative to a small subscription is usually poor use of staff time. I would rather see an NGO pay $15 for a service than lose a day of program work trying to avoid the bill.

A middle path

Managed open source often gives an organization a better trade. A provider runs the server, handles routine updates, and keeps the service available. The NGO retains more control than it would with a closed platform, while avoiding a private server that only one employee understands.

A maintenance retainer is another option. The agreement should name the systems, response times, backup checks, update schedule, and monthly price. It should also say what counts as new project work.

Thirty days of support and clear handover documentation can separate self-hosting from self-sabotage. The documentation should include the domain registrar, server provider, recovery steps, administrator accounts, backup locations, and a diagram that another person can follow.

Self-hosting works when the organization treats operations as part of the service. The monthly server invoice is only the first line on the budget.