Hardware #
I took stock of what I had. I already had a rudimentary setup in place with a Raspberry Pi running a NAS and a PiHole. I have an old MacBook Pro which I no longer use due to a broken keyboard. I have cables. Lots of them. I have a couple of External USB drives with some data on it, but with enough free space on all of them. I have a good internet connection. That’s it, that’s all I have.
Setup #
First, I did some research on the best operating systems I can use that are optimised for running one or more virtual machines. Proxmox was the answer, so I decided on it as the primary OS. Then, I did more research on using Proxmox, installing VMs and setting up the networking, etc. r/selfhosting is an amazing place to start the research. From there, Youtube is just one step. A few amazing Youtubers (@DBTechYT, @christianlempa, @NetworkChuck to name a few) have some brilliant content covering the basics of self-hosting, all the way to the most advanced topics.
What do I want to achieve? #
I wanted to have a very basic setup in place, making sure I have the essentials covered correctly. The configuration needed to be easy to clone, easy to discard and resurrect quickly in case of failures. I also wanted to see results straight away. So I chose the following self-hosting apps and services to be my first few to try out:
- Plex (a self-hosted Netflix-like app)
- Pi-Hole (a network wide Ad blocker for all the devices on home WiFi)
- Navidrome (for music)
Over time, I would like to access some of these services over the internet and also make them open to public - like a blog, or a personal website, for example. So I went ahead and got myself a domain at Cloudfare.
Step by step #
Step one, I erased the macOS from the MacbookPro and installed Proxmox as the base operating system following guides from the Youtubers linked above. It was very, very easy. Next step was to configure a new Virtual Machine (VM) in Proxmox and install Ubuntu server on it.
The first thing to configure on Ubuntu was to setup a Samba share and connect my external USB drives to it so that they could be accessed across the network by other devices. Next up was to install Docker and Portainer. Portainer is a container management app which runs on top of Docker making it easy to create and manage docker containers.
This completed Day one of my Homelab setup. Next thing would be to look up the instructions for installing the above services as docker containers. See you next time! Until then, be curious :)
Webmentions
Error loading webmentions. Refresh to try again.