Infrastructure Case Study / Homelab

Active / OperationalLINUX / SELF-HOSTING / NETWORKING / OPERATIONS

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.

Raspberry PiLinuxCloudflareTailscalePM2PostgreSQLSSHUbiquiti
HOMELAB / TOPOLOGYONLINE
PUBLIC EDGEInternet / Cloudflare
NETWORKUbiquiti / Home Network
PRIMARY HOSTRaspberry Pi / LinuxARM64 / Always On
Central HubCentral Hub MonitorAesthetic KingPostgreSQL
HOST / RASPBERRY PIREMOTE / SSH + TAILSCALEPROCESS / PM2DATABASE / POSTGRESQL

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.

01Application Hosting

Central Hub and Aesthetic King run continuously from the same Linux host.

02Process Management

PM2 manages production Node.js processes and supports automatic startup after host reboots.

03Persistent Data

PostgreSQL provides the production database layer used by projects running on the Pi.

04Remote Operations

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.

01ISP
WANInternet Service Provider
02UB
ROUTING / NETWORK EDGEUbiquiti Equipment
03LAN
LOCAL NETWORKEthernet / Wi-Fi
04π
APPLICATION HOSTRaspberry 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.

PLATFORM

Linux / ARM64

Provides the operating environment for deployed services and remote administration.

AVAILABILITY

Always On

The Pi operates as a persistent server rather than a temporary development machine.

RESPONSIBILITY

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.

PUBLIC USERBrowser
PUBLIC EDGECloudflare
LOCAL SERVICERaspberry Pi

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.

PC
DESKTOP

Windows Terminal

SSH access from a Windows workstation for routine administration, deployment, and troubleshooting.

M
MOBILE

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.

PM2 / PRODUCTION PROCESSESMANAGED
PROCESSROLESTATE
Central HubWeb applicationOnline
Central Hub MonitorSystem monitoringOnline
Aesthetic KingDiscord applicationOnline

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.

APPLICATIONCentral Hub
DATABASEPostgreSQLRaspberry Pi / Production

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.

CPUUsage
MEMORYConsumption
DISKCapacity
TEMPThermals
UPTIMEAvailability
SERVICESProcess 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.

PUBLIC

Visitor Access

  • Public websites and dashboards
  • Read-only Central Hub access
  • Cloudflare-managed public routes
  • Selected operational information
PROTECTED

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.

01
No automated backups

PostgreSQL and other critical application data do not yet have a scheduled backup and retention system.

02
Single primary host

Multiple services depend on one Raspberry Pi, creating a single point of failure for the current environment.

03
Limited hardware resources

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.

PostgreSQL backupsOff-device backup storageRestore testingResource alertsHistorical metricsService health checksInfrastructure documentationNetwork segmentation

Live Infrastructure

See what theenvironment supports.

Open Central Hub