Before I started this project I had various hosts setup at various providers as well as at home.
These handled varied services including:
Jenkins for performing CI builds of all of my opensource projects with separate build servers for amd64, arm7 & arm8 cpu architectures
Sonatype Nexus for managing build artifacts
Geoserver handling dynamic mapping for my mapping site
PostgreSQL instances for various online & offline databases
Live feeds from Network Rail, National Rail Enquiries (Rail Delivery Group), USGS (United States Geological Survey) and others
Archiving the live feeds
Now with one of the providers removing support & soon the actual nodes for some of their server types which hosts Jenkins, Nexus, Geoserver & the amd64/arm8 build severs I needed to find suitable replacements.
At home I already had a large collection of Raspberry PI’s some dating from 2012 so I had a reasonable collection of machines for adding to the cluster so all I needed was to add a shared filesystem, support for AMD64 builds & racking to house it all – previously I had some in cases, others without & it was a mess…
In recent months I’ve been setting up a new cluster at home to replace some of the hosts I have in the cloud. This has become more important as one of the hosts I use is removing support some of the types of server that I use with the aim of removing them completely later in the year. Unfortunately there are currently no other providers out there that provide similar servers are a similar price so I took the decision to migrate some of the services which don’t need to be external back in-house.
So this is the beginning of a series of articles on that migration process including setting up the various nodes in the cluster, how they are managed & how they are racked so that they don’t take up much space.