My homemade virtualization server

Little by little I am becoming more interested in the “homelab” world, so I watched a lot of videos from tech youtubers talking about proxmox. It is a type 1 hypervisor, which essentially is an open-source operating system solely dedicated to managing virtual machines. This technology is widely used in large companies and organizations, although it is also available for (geek) users like me, to offer fun and great utility.

Proxmox can be installed on any hardware, but to get the maximum performance and capacity of virtual machines, I built a computer/server at home that meets my needs, and for a really affordable price.

Parts used:

  • CPU, Motherboard and RAM:

    I’m a university student with little money, so budget was really important to me. The best option I found was to buy a Chinese kit from aliexpress, which includes: X99 motherboard, Intel Xeon E5 2670 V3, and 32GB of ECC RAM.

    It cost me 166.19€, and for now it’s working fine. The big question is how long it will last. For this cheap price I can deploy a reasonable number of virtual machines thanks to the 32GB (expandable to 64) of RAM and 24 processor threads, which is perfect for me (I’ll explain later how I’m using it).

  • CPU cooler:

    Again, I gambled with the Chinese, who offer extremely competitive prices. It is a Snowman cooler, and they are actually quite famous because of what they can offer. It has 6 heat pipes and for now it works like a charm, the processor does not exceed 35 degrees in normal usage, without stress. I took the version without LEDS (they won’t be seen and I don’t like them either), with two fans. It cost 31.89€. If someone is interested in buying this type of components on aliexpress, I recommend waiting for Black Friday if it’s possible, because they do good discounts.

  • Hard drives:

    I didn’t need to buy any HDD because I had a 2TB one lying around unused, but I did buy a 240GB SSD Kingston. Little more to add, for now very good, and a good price, it was 23.63€.

  • Power supply:

    I opted for a 650W Nox Urano that was on sale, and so far no problem. It cost me 39.89€. Recommendable.

  • Graphics card and case:

    I am talking about these two components together because I bought them from a friend. The computer case is normal, there’s not much to say about it, and the graphics card is a 2GB GTX 960, which is okay for what I’ll use it (video transcoding). He charged me 100€ for both. Unfortunately the fans that came with the case were in poor condition, they made a lot of noise, so I’m not using them. Since the temperature is not very high only with the CPU cooler, for now I am not going to buy any others.

  • Thermal paste:

    It was 1.39€. ✌️

TOTAL: €362.99

Which, from my point of view, is not bad for a server with 32 GB of memory, a 960 and 12 cores. 😄

What do I use the server for

There are lots of fun uses for something like this, for example, try new linux distributions, do experiments without worrying about anything happening to your computer, do heavy tasks without cluttering up your main computer… A very convenient use is hosting services such as plex, pi-hole, pfsense, portainer, homebridge, torrent clients, system monitors like Uptime Kuma… I have already spoken about many of these in the post “My HomeLab 2022”, if you have not seen it and you are interested in this world, I invite you to read it.

In my case, I use it mainly for the following:

  • Jellyfin Server:

    The idea is the same as Plex, but open-source. To get this service up and running, I’ve had to go through quite a few headaches. The way I have it working (surely there are better ones) is like this:

    1. The Jellyfin server is in a Proxmox LXC container, on an Ubuntu 20 server image. I have used a container instead of a virtual machine because it is the only way that has worked for me to do GPU-passthrough for video transcode. It was a very daunting task that I couldn’t get it to work, but the following video saved my life.
    2. The video files are on another machine, Ubuntu 20 desktop, which has the entire 2TB hard drive assigned to it. It stores the movies and, in order to be able to access them, it has a SAMBA server.
  • Portainer:

    Installed on Ubuntu 20 server with docker, portainer allows me to easily manage containers. Right now I have running Jackett, Radarr (to automate torrent movies downloads) and a cloudflare connector in order to access my services from outside my house. I will try to write about this, it’s super easy and useful.

  • Acestream server:

    With the same P2P technology as torrents, it allows the broadcasting of live video. In case you’re interested, I have a post explaining how to install it on docker. Working on Ubuntu 20 server.

  • Transmission:

    It is a torrent client, very basic and easy to use. It is also installed on Ubuntu 20 server with docker, for a change, and it saves the downloaded files with the same SAMBA server as Jellyfin, on the HDD.

  • Various operating systems:

    Windows machines for a multitude of functions, linux distributions such as Kali, macOS, old OSs…

  • Useful machines for the university:

    At university, every year I have to install software that I probably will never use again, or have to do things that are capable of damaging the computer if I do it wrong. I simply use a virtual machine for the subjects of the degree, and at the end of the course I delete them. Also, I hate it when programs leave me with thrash files after I uninstall them, so that fixes that too.

I’m almost sure that soon I’ll find a fun new use for this server, that’s what’s fascinating, and I’ll be able to deploy a machine in a super easy way. I definetely will write in the future about new things that I am doing with this server. 🤠

setup