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:

  1. Debian (DEB)
  2. Fedora (RPM / RHEL)
  3. 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

Next➡️ Learn about the SBMzero certification