How I Started Self-Hosting
Good evening, dear reader.
Welcome to my second blog! I won't be keeping track of each one, but since this is just the beginning, I might do it for a few. So, today's topic is how I started my self-hosting journey and got to where I am, all in a span of 3 to 4 months. I briefly talked about this topic in my About Me, but in this blog, I will talk about it from the beginning till now.
So, the story actually starts way before I even thought of self-hosting or looking for something to self-host on. A few years ago, my grandma got me a pre-owned laptop from a relative; I do not remember the exact model even though I still have it, but it was an old and bulky Dell. It was running Windows 10 out of the box but I decided to do a clean install anyways. It came with a 500-series NVIDIA laptop GPU and a Core i5, although I do not remember which generation. It also had 8GB of RAM and a 512GB HDD. Though these specs aren't bad for a Windows 10 install, it still felt sluggish and a bit slow. I did switch out the HDD for an SSD, but even that did not really help as much.
One day, while talking to a friend, he mentioned that I try Linux on the laptop to give it a bit of a performance boost. I quite liked the idea and sound of it. Thus, I flashed a USB with Ubuntu as my distro of choice, which is definitely one of the most beginner friendly ones out there, with the biggest market share too if I am not wrong. I was actually really hooked onto the UI and loved almost everything about it.
Eventually though, I stopped using that laptop as much and flashed Windows on it again after some time. It was also around this time that I remembered that I actually just left the old HDD, that came with the laptop, lying around in a drawer. So, after searching about external HDD cases, I bought one to turn that unused hard-drive into a backup storage device.
A few months later, on a random day, I noticed our Wi-Fi router actually has a USB port on it. This got me thinking about if I could somehow hook the external drive, which I created out of the old laptop's hard-drive, to the router and access the files through an app over Wi-Fi. After searching on the internet for a while, and stumbling upon SMB Share, I managed to do what I set out to, but the speeds were just horrible. Like really, really, really horrible. Uploading a single picture took way more than a few seconds; don't even think about trying to upload videos.
Even though it was not really useful with such unbearable speeds, I left the drive connected to the router for a while until I decided to start taking it with me to my job as a means of creating backups of my work files.
Now, around the end of November last year, I started looking into mini-PC's to use as a NAS. I got this idea mainly due to me being kind of bored and wanting to put the laptop's HDD to some actual good use; this is not to say that it wasn't being used or anything, I just wanted to get more out of it. This led me to the wonderful world of Facebook Marketplace, where one can, and will, lowball anything and everything.
I did not think much about what I wanted and just searched "Mini-PC" on the search bar. The first listing which popped up was the Fujitsu Futro S720 and it caught my eye instantly. I immediately decided that I wanted it and nothing else. I contacted the seller and they told me that it would be delivered the same day. I payed him and waited excitedly.
When I finally got the S720, I was hoping it would have a pre-installed SSD/HDD and RAM, but it only had a CPU and heatsink. This wasn't really an issue for me as I decided to take the RAM from the older Dell, and ofcourse I already had a hard-drive which was waiting to be used. Though one thing was kind of sad, which was the fact that the S720 only supports a single RAM stick. This mean't that I was stuck with just 4GB of RAM for the time being.
So, after installing the RAM and HDD into the thin-client, the time came for me to do more searching on the web, and decide on the OS of my choice. I also had to make sure that it would actually run on the machine, seeing how it was quite underpowered.
At first I was thinking of running the server version of Windows or maybe even Windows 10 IoT Enterprise LTSC version because I was familiar with that; thinking about the resource usage made me change my mind. In the end, I decided to go with OpenMediaVault, which is a dedicated server operating system based on Debian (Linux).
The next day, I downloaded the OMV .iso and flashed it onto an old pendrive. After booting the S720 and installing the operating system onto it, I got the thing to work. Due to not having pretty much any practice with a CLI (Command Line Interface), I first gave the machine a static IP address and gained access through the web interface. Learning bit by bit about what each button did, and what to do and what not to do, I got the basics.
I was still very much a newbie, but I was starting to get the hang of it. I even learned that I did not need a monitor at all and could access S720 through any device using SSH to send commands over! This was very cool to me and I was actually quite relieved because I did not want to dedicate a monitor to just the thin-client.
At the beginning my main use case for the S720 (which will be referred to as NAS/server/homelab going forward) was to self-host a cloud service for my images and videos. I found Immich to be the best for this job. Keep in mind that I still had not found out about the docker-compose plugin, which is essentially a plugin which lets you set-up docker containers with ease. So, to set-up Immich, I actually used the CLI and created the docker .yaml (a file containing the functions and basics of a program).
After a few hurdles, I actually found out about the docker-compose plugin mid-way through and used that instead, which was a hundered times easier and more convenient. This way, the container was up and the service was running. I quickly installed the app and got my images and videos onto the server, which worked a bit weirdly at the start, but smoothened out after a while.
So, after all the learning and getting used to OMV, I finally had my first self-hosted service up! I was very excited about running Immich, and I still am quite astonished at how easy it is to start self-hosting, and I think more people should try it out, especially given the tons of guides out there. I think this will be it for today's blog. I do have more to share about the other services I have running, which will come in the next few blogs, but this is enough for this single one. Hope you enjoyed reading!