Central Hub and Aesthetic King run continuously from the same Linux host.
Infrastructure Case Study / Homelab
The infrastructure
behind
the projects.
My homelab is the self-hosted environment behind Central Hub, Aesthetic King, monitoring services, PostgreSQL, and remote administration. It combines Linux, Raspberry Pi hosting, Cloudflare, Tailscale, PM2, and network infrastructure into one continuously evolving system.
01 / Environment
One host.
Several responsibilities.
The Raspberry Pi acts as the primary application host for my self-hosted environment. It runs Linux and supports several production services that are exposed publicly, monitored locally, or administered remotely.
Rather than treating each project as an isolated application, the environment is operated as a shared platform with networking, process management, persistence, monitoring, and remote access responsibilities.
PM2 manages production Node.js processes and supports automatic startup after host reboots.
PostgreSQL provides the production database layer used by projects running on the Pi.
SSH access is available from Windows Terminal and from mobile using Termius over Tailscale.
02 / Physical Network
From the ISP
to the Pi.
The physical side of the environment begins with the ISP connection and routes through Ubiquiti networking equipment before reaching devices on the home network, including the Raspberry Pi.
03 / Raspberry Pi Host
Small hardware.
Real workloads.
The Raspberry Pi is the primary always-on Linux host for the environment. It supports applications, monitoring processes, and the production PostgreSQL database while remaining lightweight enough for continuous operation.
Linux / ARM64
Provides the operating environment for deployed services and remote administration.
Always On
The Pi operates as a persistent server rather than a temporary development machine.
Shared Host
Multiple services run on the same host and must coexist within the available compute and memory resources.
04 / Public Access
Public services
without direct exposure.
Cloudflare is used to make selected local web services accessible through public domains and subdomains. Visitors reach the public hostname while the underlying application continues to run on the local Raspberry Pi.
This allows services such as Central Hub to be publicly visible without relying on direct public access to the local service address.
05 / Remote Administration
Manage it
from anywhere.
Remote administration is handled through SSH. From a Windows computer I connect using the terminal, while mobile administration uses Termius together with Tailscale.
Tailscale provides a private network path for remote access, keeping administrative connectivity separate from the public application endpoints exposed through Cloudflare.
Windows Terminal
SSH access from a Windows workstation for routine administration, deployment, and troubleshooting.
Termius + Tailscale
Mobile SSH access through a private Tailscale connection for remote administration when away from a computer.
06 / Application Processes
Services survive
the terminal session.
PM2 is used to manage the primary application processes running on the Pi. This separates application availability from an active SSH session and allows services to restart automatically after host reboots.
07 / Data Layer
Production data
on the host.
PostgreSQL runs directly on the Raspberry Pi and provides the production data layer for applications that require persistence, including Central Hub.
Hosting the database alongside the applications keeps the current environment simple, but also makes backup and recovery planning an important next step.
08 / Monitoring
Know what
the host is doing.
Central Hub Monitor provides host and service information used by the dashboard. Monitoring turns the Raspberry Pi from a black box into an observable system with information about its operational state.
09 / Security Boundaries
Public visibility.
Protected control.
The environment separates public application access from administrative control. Visitors can reach intentionally published services, while SSH, editing capabilities, credentials, and infrastructure administration remain protected.
Visitor Access
- Public websites and dashboards
- Read-only Central Hub access
- Cloudflare-managed public routes
- Selected operational information
Administrative Access
- SSH administration
- Tailscale remote connectivity
- GitHub-authenticated editing
- Credentials and secrets
10 / Current Limitations
It works.
It is not finished.
The current environment is intentionally presented as it actually exists today rather than as a finished enterprise architecture.
PostgreSQL and other critical application data do not yet have a scheduled backup and retention system.
Multiple services depend on one Raspberry Pi, creating a single point of failure for the current environment.
Services must be selected and operated with the Raspberry Pi's available compute and memory resources in mind.
11 / Next Improvements
Build the
operations layer next.
The next phase of the environment is less about adding random services and more about improving reliability, observability, documentation, and recoverability.
Live Infrastructure