👾 An educational project building a cluster out of Raspberry Pi's.
The project is made of the following components:
- 1 Raspberry Pi 4 Model B serving as the cluster manager and gateway to the outside of the network
- 4 Raspberry Pi 3 Model B serving as the worker nodes doing the actual request handling
- Docker for easy application management
- Portainer as a graphical management solution for Docker
- A fork of Mozilla Send as the clustered application
- Samba for centralized network storage
- Nginx as reverse proxy & load balancer
- NoIP as a dynamic DNS solution
- Let's Encrypt for free HTTPS certificates
Contains utilities for creating a self-signed CA & SAN certificate used for securing traffic inside the network. This is primarily required for Docker.
Contains a docker-compose.yml
file and various configuration for running the Send application.
Serves some pictures for showcasing purposes.
Contains a docker-compose.yml
as well as configuration files used to run a private Docker registry.
Contains a docker-compose.yml
as well as configuration & some utilities to setup network storage using Samba.
Used to deploy Portainer across the cluster.
A utility script used to gracefully shutdown all nodes in the cluster.
TODO
Below you can find pictures of the physical setup used for this project.
The Raspberry Pi's as well as the switch are mounted securely on a wooden board with separators made out of plastic. We're aware that this can be a security issue in terms of fire protection, but the cluster only ran under supervision 🤓.