Here's what I've learned from self-hosting services on my main PC

11 hours ago 2

I started self-hosting apps a few months ago by using Docker Desktop on my Windows PC. While I one day want to create a home lab to run these services, I continue to self-host using my main PC, which I also use for work and gaming.

I don't really have regrets about starting my self-hosting journey this way, but over the months, I have noticed some of the drawbacks to using the method, as well as one major benefit. Here's a look at what I've learned through self-hosting on my main computer.

Learn self-host with these easy tools

Related

It was the most convenient (and cheapest) way to get started

I got services running quickly, for free

a desktop screen showing links saved in linkwarden

I didn't start self-hosting as a hobbyist, but rather as a way to test and write about apps and services for XDA. While I initially started out writing about Windows apps, it became clear that I would have to expand my skills if I wanted to have a comprehensive view of the software options out there.

That meant I had to find a way to start self-hosting quickly even though I don't have coding skills and hadn't booted a Linux distro in years. I also needed to host services in a way that minimized costs, since technology components (even SBCs) can cost a significant amount more in South Africa due to import taxes. I considered repurposing an old laptop, but the hardware on my last laptop was starting to fail, so I didn't see it as a viable option.

As a result, using my main PC was the cheapest and quickest way to get started with self-hosting. I had recently installed a 1TB SSD, so I had enough space to work with. Docker Desktop also saved me the hassle of dual-booting or using a standalone VM, since I could just start it up on Windows and immediately access my containers while I was working.

System resources can become constrained

My games compete for RAM

As my number of Docker containers grew, so did the load on my system. I have 16GB of RAM and a decent CPU, so I didn't run into issues at first. But when I started using some more resource-hungry, multi-container apps on Docker, I did notice that my system became more constrained when I was playing games or when my Chrome tabs had gotten out of hand.

My CPU still has a lot of processing power to go around, and I have plenty of space left on my SSD. But my RAM is my bottleneck. This doesn't stop me from running containers, since they have a set allocation of RAM. But when I'm running containers as well as playing games, I start to notice more performance issues in Chrome and my games. As a result, I usually stop my containers and exit Docker before launching games.

It affects the uptime of my services

This reduces convenience

A gaming PC setup on a desk

One of the considerations you have to make when setting up a home lab is the electricity cost of running a server 24/7. When you're using a NAS or a few components combined, this doesn't add up to much. But electricity consumption ramps up when you're using a device that doesn't prioritize energy efficiency.

I could leave my PC on to keep my self-hosted services running, which would be a lot more convenient. But there would be the trade-off of increased electricity costs. I have an old gaming rig as my main PC, so there are plenty of components that would stay powered — even the ones that aren't essential for a home server.

As such, I prefer to switch my PC off every night, instead of leaving it running indefinitely. So, in addition to terminating my self-hosted apps when gaming, I also shut them down when I'm done with my PC for the day. As a result, I miss out on the convenience of having a server that runs 24/7.

I could opt to use a VPS for my self-hosted apps, but I can't really afford additional subscriptions with my budget currently. Oracle Cloud offers a free tier, but I need to explore the services for my region to see if it's a viable option. I suspect, however, that I will need to expand my self-hosting knowledge to be able to deploy apps correctly on a VPS.

Running some containers using Apple Container

Related

Apple Container turned my Mac into a self-hosting war machine

It's hands-down the most resource-efficient method for running containers on macOS

Self-hosting on my main computer has been convenient, but has its drawbacks

While hosting apps on my computer has been a useful way to quickly get started with self-hosting, the drawbacks do mean that I am starting to explore other options. Budget is a major limiting factor, since investing in a more powerful NAS or buying components for a bare-metal server would cost more than I can currently afford. Even simple SBCs are pricey locally and would require additional components, especially when it comes to storage.

It's a worthwhile endeavor to host on your main PC if you're starting out with self-hosting and don't have much of a budget. But in the long-term, there are definitely more robust options available.

Read Entire Article