Land of Opportunity
Complete “The Assault on Fort Mercer”
love a good story
Complete “The Assault on Fort Mercer”
I’ve seen some very elaborate homelab set-ups online but wanted to get the easiest possible implementation I could, within my current skill set.
As I have quite a lot of experience with using docker for development in my day to day work, I thought I’d just try using docker compose to setup my homelab service
Docker is a piece of software that allows you to package up your services / apps in to “containers”, along with any dependencies that they need to run.
What this means for you, is that you can define all of the things you need to make your specific app work in a configuration file, called a Dockerfile
. When the container is then built, it builds it with all of the dependencies that you specify.
This is opposed to the older way of setting up a service / app /website, by installing the required dependencies manually on the host server itself.
By setting up services using docker (and its companion tool docker compose) You remove the need to install manual dependencies yourself.
Not only that, but if different services that you install require different versions of the same dependencies, containers keep those different versions separate.
I use the guide for ubuntu on the official docker website.
Once docker and docker compose are installed on the server, I can then use a single configuration file for each of the services I want to put into my Home Lab. This means I don’t need to worry about the dependencies that those services need to work — because they are in their own containers, they are self-contained and need nothing to be added to the host system.
There are services that can help you manage docker too. But that was one step too far outside of my comfort zone for what I want to get working right now.
I will, however, be installing a service called “Portainer”, detailed in my next Home Lab post, which gives you a UI in which to look at the docker services you have running.
I have gone with Ubuntu Server 22.04 LTS for my Homelab’s operating system.
Most of the videos I’ve seen for Homelab-related guides and reviews tend to revolve around Proxmox and/or TrueNAS. I have no experience with either of those, but I do have experience with Docker, so I am opting to go with straight up docker — at least for now.
I’m using a Linux-based system and so instructions are based on this.
Head here to download your preferred version of Ubuntu Server. I chose the latest LTS version at the time of writing (22.04)
Once downloaded, insert and a usb stick to install the Ubuntu Server iso on to.
Firstly, check where your USB stick is on your filesystem. For that, I use fdisk:
sudo fdisk -l
Assuming the USB stick is located at “/dev/sdb
“, I use the dd
command to create my bootable USB (please check and double check where your USB is mounted on your system):
sudo dd bs=4M if=/path/to/Ubuntu-Server-22-04.iso of=/dev/sdb status=progress oflag=sync
Boot the computer that you’re using for your server, using the USB stick as a temporary boot device.
Follow the steps that the set up guide gives you.
As an aside, I set my server ssd drive up with the “LVM” option. This has helped immensely this week, as I have added a second drive and doubled my capacity to 440GB.
I can’t remember if ssh came installed or enabled, but you can install openssh
and then enable the sshd
service.
You can then connect to the server from a device on your network with:
ssh username@192.168.0.77
This assumes your server’s IP address is 192.168.0.77
. Chances are very high it’ll be a different number (although the 192.168.0
section may be correct.
I have an external keyboard in case I ever need to plug in to my server. However, now I have ssh enabled, I tend to just connect from my laptop using the ssh command show just above.
Started to re-watch Breaking Bad. This’ll be my second time viewing. Think I’m gonna try and share my favourite shot from each episode.
I’ve opted for what I believe is the easiest, and cheapest, method of setting up my Homelab.
I’m using my old work PC which has the following spec:
My homelab goals are centered around two fundamental tenets: lower cost for online services and privacy.
I want to be:
I will be documenting my Homelab journey as best as I can, and will tag all of these posts with the category of Homelab.
Gutted that I’m now all up to date with Taskmaster. Only discovered it a month or so ago and been binging it.