Self Hosting
This means instead of your data or an app/service being stored in a cloud server somewhere (and usually owned by Big Tech), you store that data/app/service on an 'always on' computer in your house.
Self hosting is a very rewarding learning journey. It starts relatively easy but can quickly get complicated. We'll do our best to explain how things are done in this section.
Hardware
You can repurpose an old laptop or even a Raspberry Pi. Many choose a 'mini PC' due to their small size and low power consumption.
Server OS
Whatever hardware you choose you'll need to 'flash' an operating system onto it so it can run in the background as a server.
Linux - but which type?
Server edition or Workstation/Desktop edition
Hardcore self-hosting types will tell you that the OS you choose needs to be the 'server edition'. This means that it does not have a graphical user interface like you're used to with Windows or MacOS. Instead you need to interact with it via a 'Terminal' or 'Command line' user interface.
That might work for techies but for normal people it's pretty much impossible. So ignore them and install the 'normal' desktop edition of the OS.
Which Linux distribution?
"Distribution" just means 'flavour' or 'type'. There are many different distributions of Linux, fine-tuned for various use cases, but they are all founded on these main bases:
- Debian (DEB)
- Fedora (RPM / RHEL)
- Arch (ARCH)
It is recommended to use one of the first three when you're starting out. Arch Linux is for professional developers who do everything in the terminal - there is no GUI at all!
Beginner-friendly Linux flavours
The following look and feel familiar to those used to Windows or Mac:
Distribution name | Linux Type | Features |
---|---|---|
Mint | Debian (DEB) | Often voted the most beginner-friendly; Intuitive layout |
Ubuntu | Debian (DEB) | The classic 'standard' Linux flavour |
Zorin | Debian (DEB) | The most similar desktop layout to Windows |
Fedora | Fedora (RPM) | Updated the most frequently |
You can test drive the various Linux distributions in your browser (no need to install!) at DistroSea.com
Self-hosting specialist OS
The following services replace the OS on your self-hosting machine, and take care of the more difficult aspects of self-hosting. Once installed you choose the apps from their store and the deployment is easier.
Provider | Structure; Business Model | Country of Origin |
---|---|---|
Yunohost | Open Source; Free | Germany |
Cloudron | Small private company (UG); Freemium (two free apps) | Germany |
Installing Linux
This is done by first 'flashing' the downloaded OS 'image' file onto a USB stick. You do that on another laptop using software called Etcher.
You then put that USB into a USB port of the machine you will install Linux onto, and when you start the machine you press the keys that will take you into the BOOT MENU. This is different for each machine but is often F12, F7, F8, F9 or the Esc key
Once in the Boot Menu you can choose to boot from the USB stick. This will launch the Linux distribution, and it looks like it's installed, but actually it isn't yet! You're actually running it from the USB stick. To install there is usually an icon on the Linux desktop called 'Install Linux'. Double click that and it will actually install Linux to your machine.
This will completely wipe the machine so make sure you backed up any data from there that you need to keep.
Services you can self host
Easy level
Jellyfin (Films, TV, Music and Audiobooks)
Calibre (eBooks)
SyncThing (File sync)
Intermediate level
Immich (photos and videos)
NextCloud (files)
Difficult level
Matrix server
Peertube instance
Mastodon instance
NextCloud server