2x Intel Xeon E5-2690 CPU, SuperMicro X9DRD-EF MOBO, 64GB 1066 MHz DDR3L, 36TB storage (24TB usable)
A homelab running on Proxmox I use to host webservices, game servers, and as a media storage device. It is partitioned into a few VMs, the contents of which I shall explain here.
I bought the server parts off of eBay. They are used enterprise server equipment, which means I was able to get them for dirt cheap (granted they are a bit outdated). The drives are shucked 3x 12TB WD Easystore. I bought them on sale for about $140 a piece. Doing this is much more economical than buying the drives themselves. All of this fits in a regular desktop ATX case. (The MOBO doesn't have the proper mounting holes nor the proper leads to connect to the power button on the case, so it is a little janky, but it works.)
babayan
portainer
Immich
PaperlessNGX
SLSKD
Radarr
Sonarr
Bazarr
Prowlarr
SWAG
Weblate
Wiki.JS
Actual
Glance
Hoarder
Gabe's Simple Fileserver
Twitter Bots
Discord Bots
vidya
Minecraft Servers
Terraria Servers
pi-hole
Pi-Hole
Unbound
webservices
Plex
Tautulli
nfs
NFS
home-assistant
Home Assistant OS
Zigbee2MQTT
Named after Armenian computer scientist Boris Artashesovich Babayan, this is my most-utilized VM. It hosts all of my webservices. Currently, every service (listed below) runs through an instance of Portainer. I have a few Discord and Twitter bots running on the VM as well, but I do not use them much.
Immich
Google Photos alternative
PaperlessNGX
Document storage
SLSKD
Soulseek server application
Radarr
Film scanner
Sonarr
TV scanner
Bazarr
Subtitle scanner
Prowlarr
*arr data syncer
SWAG
NGINX reverse proxy
Weblate
Selfhosted web-based translation platform
Wiki.JS
Wiki to host all documentation about my services
Actual
Self-hsoted budgeting platform
Glance
Customizable dashboard
Hoarder
An AI-powered bookmarking platform
Gabe's Simple Fileserver
Self-hosted fileserver
Using SSHFS I have mounted a seedbox from Ultra.CC
A virtual machine I spin up about twice a year, this VM is used primarily to host Minecraft servers. I adjust the RAM and CPU of the VM depending on how many of my friends have decided to play Minecraft this Summer/Winter.
A small VM with a mere 512MB of RAM that hosts my Pi-hole DNS server. The VM also hosts my Unbound DNS server. Due to the wacky physical setup of my network (lots of loopbacks), this was necessary to get everything to work.
A mostly-depracated virtual machine. It used to host all of my webservices, but I have since migrated those to the VM Babayan. Right now, this VM is used only for Plex and an instance of Tautulli. Originally, every service was hard-installed on this VM. It caused a lot of breakage and confusion when I needed to update/change/add/remove services. The clutter got to the point where it was hard to scale, so I needed to reassess how I was going to structure my services.
The only reason I have not fully migrated off this VM is because Plex does not yet support server migrations, and It honestly doesn't bother me enough to do any of the workaround migrations.
An LXC running on the host Proxmox instance for my Network File System. Due to the limitations of Proxmox, I cannot directly mount my media storage to the virtual machines. This NFS LXC acts as a passthrough to allow the virtual machines to access the storage via SSHFS.
Home Assistant OS running in a VM. I use Zigbee2MQTT and a Sonoff USB dongle to control my lights. I've attached Homekit bridge to it to use with my iPhone and Apple Watch.
Most of the services on Babayan are able to be accessed on an externally-available website. This is achieved with a combination of three things:
Obviously, not the actual reverse proxy domain.
As I have been growing with this server, I have learned a lot of tricks and tools that could've made my life much easier when I first started. Whenever I end up building my next setup, I will do these things differently: