So you want to self-host

That's great! You're on your way to becoming more free and tech literate. In addition, you'll develop a working understanding of various subjects you may not have encountered otherwise.

As a forewarning, self-hosting usually necessitates the command line, though it's not as bad as people think. For whatever reason, people get intimidated by command line interfaces. Learning often consists of stumbling in the right direction, especially when cultivating a new skill, and there's no shame in that. Making mistakes is all part of the process.

If essential commands like cd and ls aren't in your repertoire, consider one of two options:

  1. learn more by consulting man pages, e.g. help(1), and the OpenBSD FAQ.
  2. pursue different avenues to liberate your online life and regain privacy. Install a FLOSS operating system or use FLOSS software to accomplish day-to-day tasks.

Note that this page is intended as an overview and isn't exhaustive.

Find what you want to host

Some resources for pedagogical purposes:

If you're not sure what to host, try building a website. By creating your own website, you become an Internet landlord and can freely express your thoughts instead of remaining under someone else's thumb. From here on out, I'll use setting up a website as an example.

Pick an operating system

OpenBSD gets my vote. Most everything you need will be in the base system and it takes the pain out of administration (speaking as someone who also has experience with various flavors of Linux). Once you explore the wonder that is httpd(8) in tandem with acme-client(1), you'll wonder why you wanted to host your web server on anything else.

Why OpenBSD rocks.

Choose a VPS provider

I recommend Exoscale (full disclosure, that's a referral link. See Exoscale's mentor program for details). Exoscale is a Swiss cloud provider that respects the GDPR and values data privacy/security. also seems excellent if you want to have vmm(4) as the virtualization backend instead of KVM. They donate €10 per VM and then €15 for every renewal to the OpenBSD Foundation.

Whatever you choose, note the IPv4 and IPv6 address of your VPS after you pick and deploy an OS. You'll need it for A/AAAA records in the next step.

Pick a domain

Njalla is worthwhile. They also have a VPS service, though they didn't provide OpenBSD when I used it. Choose something short and memorable for a domain name, as no one wants to type in a mile long URL, then purchase it.

Now you need to point your domain to your server's IP using an A record for IPv4 and an AAAA record for IPv6. To do so, use your domain registrar's web interface. Without these, no one can visit your website unless they type in the IP address of the machine it's hosted on.

Read documentation

OK, now you have the prerequisites in place. You have a domain and a VPS, so it's time to figure out how to make those useful, e.g. log in with ssh(1), read afterboot(1), and set up httpd(8).

Between the built-in documentation (man pages), the FAQ, and the mailing lists, OpenBSD is replete with learning materials.

Some other resources:

Stuff I self-host


See my article on building an OpenBSD router.

Entertainment Center

  1. RetroPie is great for those interested in retro gaming. I grew up with many of the games it supports so it caters to my nostalgia. The experience gets even better with multi-pass shaders, a good case (the Argon ONE is what I use), and a good audio system. Note that I run RetroPie on top of DietPi, as it provides optimized software and a small footprint.
  2. MPD, so I can play music on the speakers without toil. I combine NFS and MPD to stream music to any device on the same network (could even transform this setup into a more remote service if desired; that said, streaming music over my LAN is all I need).
  3. Kodi. I don't watch TV very often. When I'm in the mood to do so, it's nice to have everything set up. Peluccid is my skin of choice.

When I run Linux on a device that has MMC storage, I prefer F2FS (otherwise known as the Flash-Friendly File System). For more information, see F2FS: A New File System for Flash Storage.