Setting up a server at home is not an easy task, as well is not very pocket friendly. I had been struggling until I came across people setting up servers using used/refurbished thin client machines. In this blog, I will guide you on how you can set up a running server on a thin client and host your virtual machines on your home network, and set up a small home lab for yourselves. Please note, that this is just an experiment and is only meant for education purposes. The performance of your system may differ based on the configuration that you select. Also, if you intend to use it for some high-end activities, then I would prefer not to move ahead with this option, as this is for smaller and not-so-resource-hungry workloads.
Why set up a server on a thin client machine? Servers usually need beefy hardware, but for home labs and small setups, a quad-core or octa-core processor should be more than enough to support your needs. The other hardware such as RAM and SSDs can be bumped up to meet the requirements of your lab.
The hardware configuration used on my system was as below.
- Refurbished HP Elitebook 800 G3 mini x 1
- Kingston 32GB DDR4 3200MHz Value RAM SO-DIMM x 2
- Kingston NVMe M.2 PCIe 4.0 Internal SSD – 2 TB x 1
The HP Elitebook comes in multiple versions. The one that I used had an Intel® Core i5 – 7500T 2.70 GHz quad-core processor with 8 GB RAM and 256GB SATA SSD.
We shall be using Proxmox Virtual Environment, which is an open-source bare metal hypervisor platform that is meant to run virtual machines efficiently. It is Debian-based and hence has no package compatibility issues and all the Debian-based programs can run on the OS out-of-the-box.
Download Proxmox Virtual Environment or Proxmox VE for short from its official site – www.proxmox.com, and have it written to a USB stick of at least 8GB capacity via any of the iso writing tools. I am using Rufus to write the ISO to USB, but you can use any alternative program for the same. How to write ISO to USB is out of the scope of this blog.
Preparing the hardware
Usually, these thin clients come with one screw or latch mechanism that holds the top cover to the chassis. Remove the cover based on the thin client that you are using. Also, ensure that the upgrades that you shall be making are compatible with the thin client hardware such as the motherboard and processor that comes in the thin client.
For, HP Elitebook, it’s a latch mechanism that opens from the back side of the system and removes the top cover. Once you remove the top cover, you can replace the RAM by removing the FAN and replacing the stock RAM with the ones that you have brought. Then remove the SSD, and unscrew the SSD casing to expose the NVMe socket. Add your NVMe SSD into the NVMe socket, and screw the SSD to the screw hole provided.
Now, connect the monitor, keyboard, and mouse to the system. Boot the system in BIOS mode and ensure the below configurations are set.
- Secure Boot is turned off
- Intel Optane or equivalent settings are turned off
- Both Legacy and UEFI boots are enabled
Save the configuration, connect the Proxmox Bootable USB Stick and an ethernet cable to the thin client, and reboot the system. If required, select the USB from the boot menu and boot into the Proxmox installer. Select “Install Proxmox VE” from the grub loader and then follow the below steps.
- Accept the End User License Agreement (EULA)
- Choose the 256GB SSD for your storage and select partition type to ext4
- Set your location, timezone, and keyboard layout
- Now at this stage, it will ask to set up root credentials. This is very crucial. Ensure to set a secure password and remember it.
- In the email, you can provide any email address.
- In this step, ensure to verify the network configuration shown on the screen. Select the appropriate network interface card and check if the IP segment is correct. Once done, click on the install button and let the Proxmox install.
Post the installation is complete, Proxmox will boot and show a URL at the login prompt. This is the remote management console URL. You can browse this URL to configure your Proxmox and manage the workloads in the virtual environment.
The setup of Proxmox is almost complete. You can verify the login with “root” as the username and the password that you had set in step no. 4 above. Once logged in, you can shut down the Proxmox server, disconnect the monitor, keyboard, and mouse, and place it wherever required. Ensure that it has ethernet connectivity before turning it back on. Once the server is turned on, you can use your system to browse the Proxmox URL, usually, https://<PROXMOX_IP>:8006/.
Further steps will be in the upcoming blog on how to set up your SSD to have VMs running and the SATA SSD to have ISOs and templates stored, and what additional things need to be taken care of after a fresh Proxmox install.