selfhosting – a guide

I would like to talk to you today about the essentials of self-hosting.  I mean the term broadly here, i.e, I want to include all types of self-hosting, whether websites, repositories, learning management systems, cloud-based storage hosting, etc., etc.  What then is self-hosting and how does it differ from other types of hosting?  Put simply, self-hosting means that you host it on your own, personally owned server, in a personally managed location.  Why? 

Well, the principle is that one should, to the extent possible, manage their own technology as much as possible.  No, not everyone will manage it the same way or at the same level of skill – that’s absurd.  But, social expectations and motivations should be high, and there should be immutable access to the tools that empower citizens to manage their own data securely and privately.  Encouraging those values in society and creating a culture of technology where those ideas exist and are fostered are the backbone of a healthy technological commons.

Part 1 – Setting Up Your Host

Prerequisite:  First, make sure you know why you want to self-host.  That’s what the Introduction is about.  Once you know that self-hosting is for you, then you might consider asking yourself, ‘What do you want to self-host?,” as the next question.  Create a brain map, or web, and map out your ideas.  Use online tools or pencil and paper.  You need to know:

How many websites do I need?  (provide example answers based on my own set-up to prime users)
How many users am I serving?
Who is my audience?
Do I have more than one audience?
What is the purpose of this infrastructure?

  1. Setting up the host, and installing its operating system
    1. creating a bootable USB stick
    2. installing the OS; setup and configuration of ncurses
    3. initial system set-up
  2.  Self-Hosting Websites
  3.  Self-Hosting Cloud
  4.  Self-Hosting Learning Management Systems
  5.  Self-Hosting Code Repositories
  6.  Self-Hosting Email
  7.  Self-Hosting Slack
  8.  The music thing Jason uses
  9.  The GNU social platform that Sam uses …

Part 2 – Managing Your Host

  1.  Self-Hosting a VPN Server
  2.  Firewalls, Services, and Security
  3.  Monitoring your host, Smokeping / Cacti

Part 3 – Failure and Migration

  1.  A hard drive fails, mdadm tutorials
  2.  Backup vs. redundancy, rsync, rsnapshot templates
  3.  I’m moving!  – what do I change when I plug in my computer at a new place?
  4.  My computer died completely, but I have a backup … how do I migrate all this to a new server?
  5.  Avoiding down time … having a failover host in place … using dd with cron jobs

Part 4 – Patching, Updating, Maintaining

  1.  What needs updating?  How to keep track of it all?

Leave a Reply

Close