Home server lab check in #1 2023-06-18
Hello There, in this post I'm going to be discussing my Home Server lab setup, what systems make up the lab, what their specs are, what they do, and what my plans are for the lab.
This is something I want to get in the habit of doing, not just so I can personally look back at to see what I've done over the years but so others viewing this can look at what I have and either get ideas to add to their existing lab or maybe even get inspired enough to build their own.
Before I get into what I have I do want to just mention that someone doesn't need to have the equipment I have in order to have a home server lab, I started with a raspberry pi 3B+ on my desk and over time acquired more equipment, others put linux on old desktops and run game servers (Minecraft, Terraria, Project Zomboid, and Rust are some that come to mind), database servers (such as MySQL or PostgreSQL), or just use it as network storage. The possibilities are there and if you're someone reading this that wants to get one started you can do something along those lines.
Now time to start discussing the lab. My lab is currently consisting of one Dell PowerEdge T330. It's specs in this moment in time are..
CPU: Intel(R) Xeon(R) CPU E3-1270 v5 @ 3.60GHz
Memory: 2x 16GB ECC RAM DDR4 2133MHz
At this time this is the lab's main server. It is currently running VMWare's ESXi Hypervisor. Whenever I need something hosted this is the machine I go to.
Presently I have three virtual machines running. The first is a VM that uses Fedora as it's operating system and it's job is to run my PostgreSQL server that I use for all my local projects. If I'm scraping data from a site, storing log information, or I just made some dumb small script that records the random information I wanted to keep track of, it is getting stored in that database. It was the first VM to be made and it has made my life a lot easier since before that I was keeping all my different projects data in their own SQLite file, PostgreSQL has made the data much easier to access since I don't need to constantly transfer the SQLite file to every system I needed it on in the network or (knock on wood) lost the file.
The Second VM that the server is running Ubuntu server and is hosting a Gitea server. For those that aren't familiar Gitea it is a lightweight Git server that you're able to host yourself so you can keep your projects within your own network without having to use public solutions such as Github. There are others such as Gogs and Gitlab, for more information on Gitea see their website here. Personally I enjoy having my own Git server so I have a place I can keep my smaller projects I write that aren't really important enough to make it on my Github, and so If I need to access them from other systems on the network I am still able to retrieve them.
The Final VM I have is not as cool as the others but it's OS is Ubuntu server and it's running a discord bot that I wrote for a server I am in with some of my friends. The bot is in a weird state because I am learning how the new API works for the bot so I've been rewriting it so it is compatible and works with Discord v14 where before it was only able to work on Discord v12. The changes are interesting, some are cool and offer better solutions to problems such as their new button feature, but other aspects of the API are just a bit confusing when approaching them at first. None the less this is the main function of the final VM and it's a work in progress.
Plans for the lab
The next step for the lab is getting a file server setup, I currently have the machine that will be the file server however I am still needing to buy some parts for it. After the parts have been purchased and installed it will be the next system to join the lab.
It's hard to say but after the file server is active, the lab wont be in any need to gain more additions until I need to upgrade to better systems, but at this moment in time these systems are all I really need and when enough upgrades have been made there will be another check in!