Fully functional Linux server in just a 5x5-inch box

My story about assembling a fully functional CentOS Linux server in a 5 on 5-inch box

Fully functional Linux server in just a 5x5-inch box

Not long ago I decided to assemble a server for my experiments in Oracle APEX and for other home needs such as media server. Here I am going to tell where I ended up with this idea.

Disclaimer

I am neither a hardware geek nor a linux-maniac, so, I started my investigation of what to choose 'from scratch' and wasn't going to spend weeks doing it. I didn't want to assemble something extremely powerful or outstandingly fast - for this you'd better go to overclockers forums. So, what I wanted to do is to assemble a cozy home server which will fit in my small apartment. Aslo, I am not advertising anything, all links which you're going to find in this post are only for informational purposes and your convenience.

Criteria of choice

Let's make it straight - I had particular things in mind when started to look for hardware. I suppose this list would be suitable for many, because my needs were really typical:

  1. It had to be small enough. I mean, I don't have enough room for a second ATX case in my flat. I wanted this new tech to be placed on my table or on the main computer case.
  2. It had to be modular and as much 'normal' as possible. I didn't want something monolith like a contemporary smartphone or something with a really weird architecture. Ideally, it had to be an ordinary computer with replacable everything. This would make it much easier to repair this computer or to find better hardware if needed.
  3. It had to be powerful enough. To be more precise, it had to be powerful enough to host a web server (like apache httpd or nginx), an application server (apache tomcat), a media server like Plex and, of course, Oracle Database (with APEX on board). Since I was going to use an XE option of the database, this, actually, didn't mean for me that I needed a really powerful CPU or a lot of RAM, because XE has quite strong limitations (even keeping in mind the upcoming 18c).
  4. It had to be very quiet and look good. I live in a small studio apartment and my sofa is in one and a half meters from my workplace, so I didn't want to hear this new computer at night (though it was supposed to work 24/7). Also, I didn't want something looking terrible in the place where I spend my free time with friends.
  5. I had to be able to buy hardware in my local shops. It didn't seem a good idea to me to wait several months for hardware pieces before I could get my hands into them. So, one of the reasons I preferred some things to others was their availability.
  6. I was on a budget. I wanted to spend no more than 400 EUR on this stuff.

The hardware setup in short

For those who are determined to know what hardware I used, here is a short version. For prices, I put links to Amazon, because my local shops are totally irrelevant for you.

I spent slightly more than 400 EUR in total buying all this stuff in my local shopes. Prices could be different for you depending on the location.

The hardware setup in long

And for those who are curious, I am happy to tell what pieces of hardware I also considered and why chose these and not the other.

Chassis

As I already mentioned, I was looking for something modular and small enough. And, of course, first things I met there were Intel NUCs and other units like them. This formfactor is called a mini-pc platform or a barebone.
intel-nuc-i3-7100u
There are a lot of options in the market - Intel NUC, Gigabyte BRIX, MSI Cubi 3 Series and Zotac ZBOX are some bright examples.
All these solutions are similar, and ideal for adverstisment business area, where they attach these computers to a TV in a public place and can control them remotely. But all of them have the same drawback for me - they use the U series of Intel Processors, which is integrated to a motherboard. The only things which are 'modular' are memory and storage (this is available not on all models). For many this is suitable, but still - I wanted as much modalarity as possible and also the U series is far less powerful than the same processor with full TDP. In addition, on several forums people complain that these platforms are really loud sometimes, which was totally unacceptable for me.

That's why I went for STX architecture, which, in my opinion, is a step forward from ITX and ATX formats in terms of reducing the size of the machine. The problem is there're really few offers in the market. Frankly speaking, I found only two available options if we talk about chassis (there're also two options from Akasa, but they were unobtainable at the time):

Both options are not larger than 5 on 5 inch (or 15 on 15 cm), however they are completely different solutions - the first one is a chassis-only when the second is a complete barebone - it means, it implies a motherboard and a power supply out-of-the-box (though they are fully replacable).

Despite the fact I liked design of the SilverStone chassis more, I went for the ASRock one because of first - it allowed me not to worru about a motherboard and a power supply (I was quite ok with them), and second - it was right there for me in my local shop.

Motherboard

Since, I decided to use ASRock DeskMini 110, it wasn't necessary for me to thing about a motherboard - it is already there. To be more accurate, it is ASrock H110M-STX which is one out of two options which I considered.

asrock-h110m-stx

The second was Asus H110S1 which is quite a similar solution - the same Intel H110 chipset, LGA1151 slot, and two DDR4 SO-DIMM slots for memory.

asus-h110s1

The only differences I found were:

  • ASRock's motherboard has one VGA and one HDMI ports when Asus' has two HDMI ports instead.
  • SATA ports are placed on different sides on these motherboards.

So, as for me, the both solutions are quite good and similar.

CPU

The chosen motherboard supports all Intel Skylake and Kaby Lake processors with TDP up to 65W. Again, considering the fact I didn't need something from the top and being on a budget, I went for Pentium Dual Core G4620 processor. It is much cheaper than the i3 7100 competitor, though it's almost as powerful as it. The differences were not important to me.

Intel Pentium Dual Core G4620

I got the OEM version, because wanted to use alternative to standard cooling solution from Noctua - Noctua NH-L9i

Noctua l9i

Memory

Here I stopped on 8GB (2x4GB in dual channel mode) of 2,133 MHz memory, because I am assured it is quite enough for my purposes. I chose the solution from Crucial, because it was well price-quality balanced.

Crucial 8GB Memory Kit

Storage

For storage I was going to obtain an SSD drive for an operation system and HDD for my media files. The motherboard supports one M.2 2280 PCI-E Gen3x4 SSD drive and up to two 2.5-inch SATA drives which could be SSD or HDD.

As an SSD drive my choice was a 128GB ADATA XPG SX8000. It seemed to me quite reliable since the manufacturer gives 5 years of warranty. As of speed characteristics, any SSD drive would fit me actually (though this one is quite good here since it is an NVMe PCI-E drive).

128GB ADATA XPG SX8000

For additional storage I obtained a 1TB Seagate Barracuda 5400rpm 2.5-inch drive. I was going to use this disk only as my home media storage in the future, and this model was ideal to start with.

1TB Seagate Barracuda

There was no M.2 PCI-E SSD drive in my local shops at the time I was assembling my server, so first I installed and configured my system on the HDD. If you're interested in how I then coped with the migration process to the SSD, there's a blog post about this.

Photo gallery

Assembled machine

With opened case:
With opened case

Look from the top (here you can see how much space is between the cooler and memory):
Look from the top

Look from the bottom (here it's shown where the drives are - as you can see there's room for up to two drives):
Look from the bottom

Look from the side:
Look from the side

Look from the back (on ports):
Look from the back


Conclusion

Now, when it comes to my opinion about what I ended up with, it's possible for me to categorize it:

  • The size - the box is 15 on 15 on 6 cm, ok, it is not as small as NUC, but c'mon, the performance is not even comparable.
  • The modularity - the computer is fully modular, I can replace any part of it if needed.
  • The performance - ok, I didn't run a single benchmark, but this is extra for me - for the purposes I obtaitned it, it is more than powerful.
  • The noise - I can't hear this thing at night being in one and a half meters from it, what I can't say about my fridge..
  • The look - this is really subjective, you can estimate the look yourself on the photos above, but I find the look quite solid and strict which I really like in technology.
  • The price - I spent slightly more than 400 EUR on all the hardware. I think, it is good value for this money.
  • The overall satisfaction - I am quite happy with the result. I have to admit that the idea even overcame my expectations about it and if you ask me, I will surely recommend this setup to others.

And this is the end of the story about how I assembled my tiny home server. This blog in particular is successfully hosted on it along with Oracle Database and other things. But installation of the software is a completely different story.

Be free to leave your comments and opinions about what I did wrong and could do much better for same money.