What does one do with a home server lab? I don't know… remote-render Blender files? Aggregate news articles? Burn them up with crypto mining?
For me, I guess, in the spirit of skill-building, I decided to set up a server lab to learn more about Docker, refresh my memory about Bind and Postgres, and try to rebuild the PHP game I built in 2002 in Python.
1. Server hardware
I decided to set up two servers, one for testing Docker containers and another for more permanent services like DNS and a database. I found a Zeus 1U server on Ebay, and that seemed like exactly the overpowered machine I was looking for. So I bought two.
Setting them up, though, I noticed that the fans are incredibly loud, which didn't go over well with the rest of the household.
Instead, I went with a couple of old laptops that are no longer supported by Apple or Microsoft. They're way quieter but I'm still looking at those dual Xeon Zeus servers…
2. Install Ubuntu server
I didn't do any research on which would be the best distro, Ubuntu (or the Bodhi derivative) is the one I'm most used to.
3. Install Portainer
For managing docker containers. I'm still digging in but it has a web interface and was really easy to set up.
https://docs.portainer.io/start/install-ce/server/docker/linux
4. Install Docker
sudo apt-get install docker.io
5. Manage Docker as a regular user
6. Install a Docker registry
7. TODO
7.1. Install Gitlab
I'm using a Synology Diskstation for a local Gitlab server, but I've heard that Synology might be discontinuing their support for Docker containers. And I wasn't crazy about setting Gitlab up as a container.
7.2. Backups
Maybe set something up to sync with the Diskstation?