Docker Server: Part 2

Upgrades & Integration

In my last post, Docker Server: Part 1, I set up Docker and Portainer on a bare metal server running Fedora 37. Since then I've been working on getting the server upgraded with more memory and SSD drives along with integrating the server with the rest of my home lab.

Host OS Upgrades

I installed Fedora Server 37 during the initial setup because Fedora 38 had just been released and there were no official Docker packages available. The official packages were just released so I upgraded to Fedora Server 38 using dnf system-upgrade (see the full instructions at https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/).

Hardware Upgrades

I had 32 GB of DDR-2666 memory and a pair of 500 GB SSD drives left over from upgrading my TrueNAS Scale server last year and since the hardware is compatible, I decided to upgrade the server while doing home lab maintenance.

The PowerSpec B734 case doesn't have many mounting points for the SSDs so I used a 2-slot SSD mounting bracket for PCI. I was able to slot the drives easily but the cables required some effort to get the connectors to line up correctly. Once I completed some cable management for the power and SATA cables, I swapped out the 16 GB memory sticks for the 32 GB memory sticks.

I restarted the system and logged into Cockpit to mount the new drives in the Storage tab. Both of the new drives had registered so all I had to do was repartition the drives before mounting them.

I then verified the memory upgrade on the Metrics and history page.

Since the SSD drives are considerably slower than the NVMe drive, I plan on using the NVMe drive for primary container storage and the SSD drives for secondary storage (like database backups, log archives, container images, build artifacts, etc.)

Synology Integration

I have a DiskStation DS220+ from Synology that I use for backups and sharing large files across the various computers in my home lab. I had already mounted a shared folder from the Synology server to my other Docker server so I duplicated the share for the new server.

First I added the NFS permissions for the new Docker server to the shared folder using the Synology dashboard.

Next, I mounted the shared folder by adding an NFS mount on the Storage page in Cockpit.

I verified the shared folder was mounted in Cockpit and then checked if I could access the drive from the Terminal as a final sanity check.

Network UPS Tools Integration

I was planning on integrating the new server with my UPS so the server will shut down gracefully in the event of a power failure. Unfortunately, when I was updating the Raspberry Pi running my NUT server, I somehow managed to corrupt the file system and need to do a full rebuild of the server. But that is a task for another day...

Next Steps

The new Docker server has been upgraded with more memory and SSD storage and is ready for containers. In the next post, I'll start deploying some containers to the new server.