For a home server hosting mostly Docker containers I’ve always wanted a computer with proper and multiple disk drives for data redundancy instead of SD cards used by most single-board computers. With the shortage of Raspberry Pi supply over the past years there has been an increased availability of mini PCs with all kinds of power-efficient Intel processors and extensive IO and storage options. Blogs such as CNX Software, Linux Gizmos and Liliputing are amazing for research and deals which is how I discovered Beelink and their mini PCs.
In late 2022 I purchased Beelink U59 Pro with an Intel N5105 processor, 16GB RAM, 500GB M.2 drive and two network ports for around EUR 230 (including shipping). Here is a great review of the device.
Hardware and Upgrades
Overall, the build quality is great with nice and quiet cooling design and convenient placement for the extra SSD drive. It uses a 12V power supply so it can be easily attached to a battery-powered UPS.
For data redundancy I added a WD Blue SA510 2.5” SATA III drive (1000GB) and used LVM to distribute the filesystem logical volume across the two physical volumes as RAID1.
Below are my notes on getting the device up and running.
Power Supply and Consumption
It is powered by a 12V 3A power supply with a 5.5×2.5mm DC jack. Note the diameter of the inner pin which is larger than the typical 2.1mm and won’t fit most of the low-power 12V power supplies or the POE adapters/splitters.
The power consumption ranges from 17W during the boot process to 5W when idling with ethernet connected and WiFi enabled but disconnected, using the default Ubuntu Server 22 LTS. It gets down to 3W after running powertop --auto-tune
which applies the following optimizations:
BIOS Version and Errors
The device comes with Windows 11 installed and activated. However, I wanted to install the Ubuntu server and that would never get pass one of the installation stages due to some memory errors. The device came with BIOS version JTKT001 X64 (build 05/05/2022 15:03:35) and produced the following errors during the boot (shown here with Debian install for testing):
I reached out to Beelink support and after providing the serial number for the hardware revision identification they sent a new version of the firmware JTKT001_20230217_U59_sata.bin
along with the tooling to update it from a flash boot. This new version seems to have resolved the issue and I’ve been able to install Ubuntu Server 22.04.2 LTS without any problems.
It is unfortunate that this is not provided on their website and everyone needs to contact their support directly (apparently due to the potential of bricking the device with the wrong firmware).
Enable Wake-Up after Power Loss
This device can automatically restart after a power loss but that isn’t enabled by default. The option for “State After G3” is hidden under the “Chipset” tab and the “PCH-IO Configuration” section in the BIOS settings and needs to be set to “S0 State” (one of the ACPI Sleep States).
This is an important feature for a homelab server!
Usage
This server is running in parallel to a dedicated QNAP TS-435XeU NAS and hosts critical Docker containers for home automation to reduce the impact of NAS firmware upgrades and restarts while still backing up volume data to the NAS.