Let’s Set the Stage. Servers await!
Like everything in life, one must start at the beginning…
First, here is how the mini pcs will be used:
Bmax B3 Mini PC, 8GB, 2TB (I added a 2TB SSD to the original setup).
Postgres Database Server
Data is king. Space is what it needs.
It is not being used to serve data directly to user.
Beelink Mini PC 16GB RAM, 512GB
REDIS - InMemory Database
Being an IN-MEMORY database, it makes sense it has the most memory.
Drive space is enough for learning and testing
DreamFyre Mini PC 12 GB RAM, 512GB SSD
Gunicorn - Application Server
It does more than a web server
DreamFyre Mini PC 8 GB RAM, 256 GB SSD
NGINX Web server
It needs the least, for our purposes.
Second, remember, this is being setup at my office, here is how the network is setup. A picture sometimes really is easier for expediency purposes:
Basic office setup.
All four servers will need to talk to each other so they share a switch, but only the web server needs access to the outside.
Lastly, and just to share the whole setup, I have two TeeTek KVM switches to manage the four servers, 1 monitor/mouse/keyboard per 2 servers.
Alright now, where do we start? Because I have been a data nerd for so long, it makes sense to me to start with the database server. I am familiar with Postgres, although not with the administration part of it. I need a “win” to get the confidence going, so I start with it.
If I am going to install anything on a Linux-based system, I must first install Linux and know my way around it, right? One of the Linux operating systems offered by Google Cloud is CentOS, one I know of. It is widely used in the hosting world, so I figured it makes sense to use it here. To that end, I have downloaded the CentOS ISO from the CentOS Project. Current version is CentOS Stream 10.
Easy enough.
And then things got stupid. My development environment has always been a MacBook Pro, the current one running MacOS Sequoia 15.5. I needed to create a bootable USB stick since the mini pc have no DVD, nor did I want to buy one. After a bit of research, Etcher, from Balena seemed the most widely used. Downloaded it, but after several tries, could not get it to make the USB bootable. It copied the image but wasn’t bootable. Tried a few things…nothing. Next?
These mini pcs come with Windows 11 Pro installed. Ok, let’s try that. Downloaded Rufus, another recommended software to create bootable USB in Windows. Lo and behold, that one worked perfectly. Listen, no doubt, this is user error when it comes to Etcher. I think. But no matter, I know have a bootable CentOS USB.
Each of the applications used in each server will be downloaded and installed from the server itself, so need to download anything ahead of time.
We are ready to go.
Tomorrow, the fun begins.
See you then!
Luis