Why host something yourself?
- data security: it is unclear how and who makes backups in the clouds. there have already been precedents for data loss.
- ensuring data security: it is very interesting for hackers to break into clouds, because they get access to millions of people at once. again, there have already been precedents.
- ensuring independence from the decisions of a particular commercial company: there were product closures, cost increases, and blockages of various kinds. And especially “scheduled” work at an inconvenient time for you.
- cost reduction: Anyway, clouds are very expensive, if you think about it.
What do you need at home?
- Internet access => specialized hardware solution
- video surveillance => specialized “iron” solution (it is possible on your usual “server”, but there is no point: specialized applications are already good)
- smart home => specialized “iron” solution (it is quite difficult to configure your solution, so a ready-made solution is better). I have an Apple smart home based on Aqara. If anything, you can transfer it to the Home Assistant (all Zigbee devices), but so far it works like that.
- data archive (backup storage) => so-called NAS solutions
- network hard drive (there is not enough space locally and files are being processed over the network) => so-called NAS solutions
- native applications (cloud abandonment) => so-called NAS solutions
NAS (network data warehouses) - they come in ready-made “hardware” design, and can be assembled on the basis of conventional computers. This is a fairly expensive solution, especially if you want to run applications. Therefore, many people configure themselves on the basis of ordinary computers. Next, we will focus primarily on them.
Requirements for specialized hardware solutions
- does not require mandatory registration with the manufacturer and mandatory Internet access
- you can update without registration
- updates can be disabled
- there is a web interface for configuration, because mobile applications are not controlled (they may disappear, they may lose support for “outdated” devices, etc.)
What applications are needed?
In general, just files are more important, which is why home servers are often called NAS. Nevertheless, you need to access them in some convenient way. And a few apps wouldn’t hurt.
Ordinary users
- Bitwarden – for passwords
- NextCloud – for sharing and editing files via the web interface. There’s a lot more out there.
- Seafile or Syncthing – if just file sharing is enough (for example, it runs on a cheap iron NAS and it doesn’t pull NextCloud)
- MeTube is a program for creating archives of videos on YouTube
- qBittoren is a program for downloading large files via the torrent protocol
- pyLoad – a program for downloading large files via http (regular links)
To programmers
- Gitea – source code and CI/CD storage
- SonarQube – code quality check
- Uptime Kuma – checking that the right sites are working
- Docker registry – for custom images
Other
It is clear that other categories of users may have their own requests: it depends on which cloud services they use (replace), and what open source alternatives there are.
For example, your Minecraft or CS2 server (the easiest way is through https://cubecoders.com).