Taking a look back at my servers over the years

Cover #hardware

As the year comes to a close, I like to reflect on the progress I've made and the lessons I've learned. In this blog post, I'm going to take a look at the servers that have played a crucial role in supporting my services over the past years. By analyzing their performance, reliability and cost, I hope to gain some valuable insights into how I can improve and optimize my infrastructure in the future, and perhaps give you readers some inspiration to start a home server of your own.

I wanted to get this article out before the start of 2023, but I started writing it away from home and without a way to take pictures of my actual hardware. That's why you'll see generic photos from listings rather than my actual machines. I'll fix this once I get home, I promise.

In the beginning, there were Netlify and Heroku

Netlify and Heroku

In the year 2020, when I didn't want to spend a penny on this hobby of mine, I deployed everything on Heroku and Netlify. I had to merge all my Telegram bots into one single Heroku dyno, which was a bit of a challenge performance-wise, but it was necessary to fit into the free tier. It was a fun experience overall, which forced me to rethink how my bots worked in order to optimize them. It's worth noting that Heroku is no longer free, but there are several alternatives available that offer free tiers, such as Replit, Google Cloud Platform and Oracle Cloud's Always Free tier. Netlify is primarily used for hosting static websites, while Heroku is a platform as a service (PaaS) that allows developers to build, run, and scale applications in a cloud environment. If you're just starting out with web development, these platforms can be a great way to get your feet wet without incurring significant costs.

At the time I didn't really have a domain of my own – I used Eu.Org to get a free subdomain. That's a service I heavily recommended to this day, even if you're outside the EU. Having a domain (or, in this case, subdomain) is essential for building a solid online identity. Stuff like Netlify offer free subdomains, but they're tied to themselves. For example, I can get massivebox.netlify.app, but if one day I choose to migrate to another host, like codeberg.page or my own hardware, I can't simply point to the new host from it without an HTTP redirect. On the other hand, Eu.Org provides full nameserver control, so the domain can point to whatever host you want it to.

Then my old laptop

Acer Aspire E1

My next server was an Acer Aspire E1, which was an old laptop that I repurposed for use as a server. One of the major advantages of using old hardware as a home server is that it can be a cost-effective way to get started at hosting at home. Rather than purchasing new equipment, you can often use your old computer to set up a basic server. In the case of the Acer Aspire E1, it was a budget laptop that I no longer needed for personal use, so it made sense to repurpose it as a server. While it wasn't a powerful machine by any means, it was more than sufficient for the tasks I needed it to perform.

One of the major benefits of running a barebone Linux server is the opportunity it provides to learn and gain hands-on experience with Linux and other open source technologies. Unlike PaaS solutions like Heroku or Replit, which abstract away many of the underlying details of the operating system and infrastructure, using Linux requires a deeper understanding of how everything fits together. This can be a great learning opportunity for anyone interested in becoming more proficient with Linux and open source software.

It was at this time that I started deploying some self-hosted applications for myself, my family and my friends. I started with Jellyfin, NextCloud, Vaultwarden and PiHole, which this server managed to handle very well.

Downgrading to the sketchiest hardware imaignable

MXQ Pro 4K 5G

After using the Aspire as a home server for a while, I decided to downgrade to a single board computer (SBC) for a few reasons. First and foremost, the Acer's cooling fan was becoming more and more noisy over time. Although it would have been easy just to replace it, I opted for getting another dedicated server and using the Aspire as a backup laptop. I also wanted to experience the world of SBCs for other reasons: they are typically based on Arm processors, which are commonly found in smartphones and other mobile devices. These processors are designed to be energy efficient and generate less heat, so they don't require active cooling like traditional computers do, which makes them completely noiseless. While an SBC may not be as powerful as a traditional computer, it can still be sufficient for running most services and applications.

So the next server I used was a cheap TV box I purchased on Aliexpress for less than €25: the MXQ Pro 5G. I had originally intended to get a single board computer like the Raspberry Pi, but due to component shortages at the time, I would have ended up overpaying it. The MXQ looked like an interesting alternative, since it had basically all of the Pi's features in an all-in-one package that would end up costing a quarter of a legitimate Pi. Moreover, it ran a Linux distribution called Armbian, which is based on Debian. At the end of the day, these TV-boxes are nothing more than SBCs without the pin headers that run Android out of the box. Yes, it was a very sketchy solution, but I was curious. And it did work: I was able to run most of my services just fine, but its performance was even worse than I expected, and I ended up turning off Matomo and others to free up resources. Despite this, the MXQ Pro 5G had a few notable strengths. Its form factor was compact and it was completely noiseless, which made it easy to tuck away in a corner of my home. While the MXQ wasn't the most powerful server I've used, it was a fun and educational experience. Although I can't really recommend the MXQ Pro 5G, I'd recommend exploring SBCs like the ones offered by Pine64 to see what works best for your needs and budget. They will surely end up costing more, but believe me, the price difference is well worth it.

My current server: the P4


My current server, which I decided to call “P4”, is a custom-built machine with the following components:

The name P4 is just an homage to the Japanese Fusion band Casiopea P4, which I'm very fond of. It also happens to be the fourth solution to my hosting needs, so I'd say everything fits nicely.

I purchased some components in a bundle to save money and assembled the server myself. The CPU is a used component that I obtained at a good price, while the motherboard is a new component that is made by a Chinese manufacturer. Many Chinese manufacturers are now making cheap motherboards that are compatible with older CPUs like the Intel Xeon E5 2660 V3, so it was a good opportunity to get a used CPU and a new motherboard for a good price. Machinist is one of the most reputable vendors in this space, and if you want to follow my route I recommend them over the cheaper alternatives. Since CPUs usually outlast motherboard by tens of years, I'm sure that having an used CPU won't be a problem in the near future.

Overall, this server solution is much more expensive than my previous servers, and it is less energy efficient and very loud. While it is a great solution for people who need high performance, it does have its downsides. However, so far it has been very reliable and stable, even more so than I expected. When energy prices go down, this will become an even better machine. Despite its downsides, I recommend a solution like this for anyone who wants performance for cheap.

Wrapping it up

In this article, we've taken a look at the history of my servers. From cloud-based platforms like Heroku and Netlify to home-based options like the P4, I've learned many things and I hope you learned something too.

As you can see, there are pros and cons to each type of server, and it's important to carefully consider your needs before making a decision. Whether you're looking for a budget-friendly option, a high-performance solution, or something in between, there's a home server that can meet your needs. With a little bit of research and planning, you can set up your own home server and start hosting your own services and applications in no time. Starting from a laptop or computer you already own is a great and free way to get familiar with all this, so it's what I recommend to a beginner. Your interest will grow from there and you'll want to try more and more hardware. Have fun!

I hope you've found this article interesting! I wish you a happy new year full of joy and self-hosted services. You can discuss on my Matrix and Telegram groups, or you can contact me here.