Self-hosting means running a piece of software on a computer or server that you control, instead of using the online version that a company runs for you. You install it, you keep it running, and your data stays on a machine you choose.
Many open-source projects can be used both ways. Take Umami, a tool that shows how people find and use a website. You can sign up for the online version the project runs, which has a free plan, or you can install the same software yourself. The software costs nothing to install, but you then need somewhere to run it and time to look after it.
In this guide we look at self-hosting one step at a time, in plain language. You will see how it differs from using a hosted service, the three places self-hosted software can run, and what you need to get started, from Docker to a domain name. Then we put real numbers on the cost, list the jobs that become yours, and finish with an honest look at when self-hosting is worth it and how to start safely.
Summary
- Self-hosting means running software on a machine you control. Instead of using a company’s online version, you install the software yourself, keep it running and decide where your data is kept.
- It can run in three places. Your own computer, a home server that stays switched on, or a rented server in a data centre (a VPS).
- Most projects ask for the same building blocks. Enough memory and disk space, the software’s own requirements (often a database), frequently Docker, and some comfort with a terminal.
- Free to download is not free to run. You pay for the server, backups, a domain name and any paid services the software depends on. Your time is often the biggest cost.
- The hosting company’s jobs become yours. Updates, backups, security and keeping the software running are now your responsibility.
- Neither option is right for everyone. Self-hosting gives you control; the hosted version is usually simpler. Start on your own computer and move to a server once you know the software.
Self-hosted or hosted: what is the difference?
Most online tools you use today are hosted: the company runs the software on its own servers, and you use it through a website or an app. You pay a subscription (or use a free plan), and the company handles everything behind the scenes.
With self-hosting, those jobs move to you. The table shows who does what.
| Hosted (the company runs it) | Self-hosted (you run it) | |
|---|---|---|
| Where the software runs | The company’s servers | Your computer or a server you rent |
| Where your data is kept | With the company | On the machine you choose |
| Who installs updates | The company | You |
| Who makes backups | The company (check its terms) | You |
| What you pay | A subscription, or a free plan | The server, plus your time |
| What happens if it breaks | You contact support | You fix it, with the project’s documentation and community |
Neither option is better for everyone. Hosted is usually simpler. Self-hosted gives you more control, and can cost less, but it asks for more of your time and skills.
Where can self-hosted software run?
“Self-hosting” does not mean you need a room full of equipment. There are three common places to run the software:
- Your own computer. The simplest place to start and to try things out. The downside: the software is only available while that computer is switched on, and usually only to you.
- A home server. A spare computer or small device at home that stays switched on, so the software is always available. You own the hardware, so there is no monthly rent, but you pay for the electricity and you look after the machine.
- A rented server in a data centre. Often called a VPS (virtual private server) or a cloud server: a share of a powerful computer in a data centre, which you rent by the month. It stays online all the time and is easy to reach from anywhere. This is the usual choice for software other people need to use, such as a website analytics tool.
Some open-source software is not “hosted” anywhere at all: it is simply a program you install on your computer, like any other app. PhotoCraft, an open-source image editor, is an example: it runs on your own Mac, Windows or Linux computer and works without an internet connection. People usually use “self-hosting” for software that runs as a service, which you and others reach through a web browser, like Umami.
What do you need to self-host?
What you need depends on the project, so the first step is always the project’s own installation guide. Here is what most guides ask for, and what each term means.
A place to run it
One of the three options above. The installation guide usually says how much memory (RAM) and disk space the software needs. Check this before you rent or buy anything.
The software’s own requirements
Many projects need other software alongside them. Umami’s installation guide, for example, asks for a server with Node.js (the program that runs Umami’s code) and a PostgreSQL database, which is where Umami keeps your visit data. A database is a separate piece of software that stores information in an organised way, and it needs looking after too.
Often, Docker
Many projects offer Docker as an installation method. Docker describes itself as “an open platform for developing, shipping, and running applications.” In practice, it packages an application into a container: a sealed box that includes everything the application needs to run, so it behaves the same way on your laptop as on a rented server.
Docker can make installation more predictable, because you do not have to set up each piece by hand. Umami, for example, provides a Docker Compose file (a recipe that starts several containers together) containing the application and a PostgreSQL database. You still need to learn a few Docker commands, and you still need to keep the containers updated.
A command line
Most self-hosting is done by typing commands into a terminal (also called the command line): a text window where you give the computer instructions. You do not need to be a programmer, but you should be comfortable following written steps carefully, and reading an error message when something goes wrong.
For software other people use: a domain name and HTTPS
If other people will reach your software over the internet, you will probably want:
- A domain name, such as
analytics.example.com, so people do not have to type the server’s number (its IP address). You register a domain through a registrar for a set period, which ICANN (the organisation that coordinates domain names) says is “typically between one to ten years”. You must renew it before it expires, or it may be released for someone else to register. - HTTPS, the padlock in the browser’s address bar, which means the connection between the visitor and your server is encrypted. HTTPS needs a certificate. Let’s Encrypt describes itself as a free, automated and open certificate authority (an organisation that issues these certificates), run for the public’s benefit, so the certificate itself does not have to cost anything.
What does self-hosting cost?
Open-source software is usually free to download, but that does not make it free to run. The licence costs nothing; the place it runs, the services it depends on and your time do not.
Here is what to budget for:
- The server. On your own computer: nothing extra. On a rented server: a monthly fee. As an example, DigitalOcean’s smallest Basic Droplets (its name for a rented server) were listed at $4.00 a month for 512 MiB of memory, $6.00 a month for 1 GiB and $12.00 a month for 2 GiB (prices read on 22 October 2026, in US dollars).
- Backups. Some providers charge extra for automatic copies of your server. DigitalOcean lists backups at 20% of the server’s price for weekly backups, or 30% for daily ones.
- A domain name. A yearly fee, which depends on the name and the registrar.
- Paid services the software needs. Some open-source software depends on a paid data or API service (a way for one program to request data from another company’s system). OpenSEO, an open-source search-engine research tool, is free to install yourself, but the search data comes from DataForSEO, which charges for what you use. Our OpenSEO page estimates about $5.87 a month in data for the usage it describes.
- Electricity, for a home server.
- Your time. Setting it up, installing updates, checking backups and fixing problems. This is often the biggest cost, and it is easy to forget.
An example, as an estimate: running Umami yourself on a 2 GiB DigitalOcean server would be about $12.00 a month for the server. Adding DigitalOcean’s weekly backups (20% of $12.00) brings it to about $14.40 a month, before a domain name and your own time. The Umami page shows the running-cost estimate we use for it, with its assumptions. Other providers and other sizes cost more or less, so check current prices before you choose.
Your responsibilities when you self-host
When you run the software, the jobs a hosting company would normally do become yours:
- Updates. New versions fix bugs and security problems. CISA, the US government’s cybersecurity agency, describes patches (small updates) as updates “that address security vulnerabilities” and advises applying them “as soon as possible”. On a self-hosted server, nobody installs them for you.
- Backups. If the server fails or you make a mistake, a backup is the only way to get your data back. Keep copies somewhere other than the server itself, and check now and then that you can actually restore them.
- Security. Use strong passwords, keep the server updated and open only what needs to be open to the internet. If you are unsure, start with software that only you use.
- Keeping it running. If the server stops at night, it stays stopped until you notice. Hosted services usually have a team watching for this; with self-hosting, that team is you.
Projects that need a database add one more thing to look after. Our Umami page puts it plainly: installing it yourself means keeping the app and its PostgreSQL database running, updated and backed up.
Is self-hosting worth it?
It depends on what matters most to you. Here is an honest summary.
Self-hosting can make sense when:
- you want your data to stay on a machine you control;
- the hosted version is expensive for your level of use, and you have the time to run your own;
- you want features or settings the hosted version does not offer;
- you want to learn how the software works (and do not mind fixing things along the way).
The hosted version may be the better choice when:
- you need the software to be reliable from day one and do not have time to maintain it;
- you are not comfortable using a terminal or handling updates and backups;
- your time costs more than the subscription;
- the hosted version includes features the self-hosted one does not. For example, Umami’s own pages say email reports and its streaming API (a live feed of your data for other tools) are only in its online version.
Many people start with the hosted version, then move to self-hosting later, once they know the software and their needs. Others do the opposite. Both are reasonable.
Self-hosted apps in our directory
Every project page in our directory shows the ways to run the software, what each way needs and an estimate of the running cost, built from official sources. A few examples from the directory today:
- Umami, website analytics: an online version with a free plan, or install it yourself with Docker Compose, a Docker image or from source, on a server with a PostgreSQL database.
- OpenSEO, search-engine research: an online version with a subscription, or install it yourself on your own computer with Docker Compose, or on your own Cloudflare account. Either way, the search data is paid for. We run our own copy of OpenSEO for this website’s research.
- PhotoCraft and VectorCraft, image and illustration apps: not server software, but open-source programs you install on your own computer, with no hosting to pay for.
You can browse all projects to see more.
How to start self-hosting safely
- Start on your own computer. Install the software locally first. It costs nothing, and you can learn without anyone depending on it.
- Follow the project’s official installation guide. Read it through once before you begin, and note what it needs: memory, a database, Docker, accounts or paid services.
- Set up backups before you rely on it. Make one, then try restoring it.
- Only then move to a server, if other people need to use it or it needs to be always on. Choose a server size that matches the project’s stated requirements.
- Put updates in your calendar. Check for new versions regularly, and read the release notes before you update.
Self-hosting is a skill that grows with practice. Start small, with software that is useful to you and that nobody else depends on yet, and build from there.
Frequently asked questions
Is self-hosting free?
The software is often free to download, but running it usually is not. On your own computer there is nothing extra to pay. On a rented server you pay a monthly fee: DigitalOcean’s three smallest Basic Droplets were listed at $4.00, $6.00 and $12.00 a month on 22 October 2026. Add backups, a domain name, any paid services the software needs, and your own time.
Do I need to know how to code to self-host?
No, but you do need to be comfortable typing commands into a terminal and following an installation guide step by step. When something goes wrong, you will need to read the error message and look it up in the project’s documentation.
Is self-hosting safe?
It can be, but the safety depends on you. You install the updates that fix security problems, you choose what the server opens to the internet, and you make the backups. If you are unsure, start with software that only you use, on your own computer.
What is the difference between self-hosted and hosted software?
With hosted software, the company runs it on its own servers and handles updates, backups and problems for you. With self-hosted software, you run it on a machine you choose, and those jobs become yours.
Can I self-host on my own computer?
Yes. It is the simplest place to start and costs nothing extra. The software is only available while your computer is switched on, so if other people need to use it, or it must be always on, a home server or a rented server is the next step.


