geerlingguy / geerlingguy/mini-rack

The Lamp Stack

Open
#177 1 comment 7 reactions 0 assignees View on GitHub
build showcase
Dominant language
No language data
Stars
3.9k
Forks
102
PR merge metrics
No merged PRs in 30d

Description

I don't believe anyone's actually run a LAMP Stack cluster... _in a lamp_. So I thought I'd change that:

![Image](https://github.com/user-attachments/assets/aaf9a1e6-f47c-442b-a024-6d81d6352fd3)

For all the details, check out my [blog post] and video: [LAMP Stack in a Lamp Rack](https://www.youtube.com/watch?v=CE6MTBxDSpE).

## Hardware

![Image](https://github.com/user-attachments/assets/a5f88a83-0e7c-440a-a477-22efe16c9042)

Besides the [Sunmory Floor Lamp](https://amzn.to/3Yg7ItN), I bought a set of [4U rack rails](https://amzn.to/3G2vanZ) and mounted them to the same shelf level as the built-in PDU. Well, 'PDU' is being a little generous. It's a plastic and hot glue mess, so that's why I stuck with an APC Network UPS on the bottom (which also provides some much-needed stability!).

Inside the 4U, starting from the top:

- [Netgear GS305P PoE+ Network switch](https://amzn.to/4iS8Ig4)
- [LabStack 2U 3D Printed mini rack system](https://github.com/JaredC01/LabStack)
- [JetKVM](https://jetkvm.com) with some keystones to pass through network and USB to the control plane Pi
- 3x Raspberry Pi 5 8GB

Each Pi is outfitted with a HackerGadgets PoE+ NVMe SSD HAT:

![Image](https://github.com/user-attachments/assets/743158bc-2a7f-4c2b-a835-a71ebb039134)

This way everything can be powered through a single PoE+ switch, and even with the limited 30W power budget on the GS305P, the Pis seem to run fine in this configuration. I don't know if I'd try doing 4x Pis, 3x is probably the limit.

Here's a photo of the UPS in the base:

![Image](https://github.com/user-attachments/assets/eb5d88dd-b085-4205-8f0b-c87674285409)

It's running a Drupal website inside a Kubernetes cluster, configured using my [Pi Cluster Ansible Playbook](https://github.com/geerlingguy/pi-cluster), and I used JetKVM + K9s to monitor the cluster while I installed and tested a default Drupal site for testing:

![Image](https://github.com/user-attachments/assets/426cf019-5d44-4c63-b1cb-76c8a0a7778a)

Contributor guide

No contributing guide indexed for this repository

Research direction

This issue is a project showcase rather than an implementation task; it names no repository files, tests, or entry points. Read the repository's contribution and issue conventions to determine whether builds like this should be recorded, and wait for a maintainer to define the destination and acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
ansible, drupal, kubernetes, raspberry-pi
Domain
content, devops, documentation, embedded-iot, infrastructure
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.