Homelab Architecture

Table of Contents

This is a high level overview of my home system. Updates and videos to follow soon.

Main Server

Purpose

  • Manages Docker Containers
  • Maintains FRP connection to VPS
  • Receives traffic from VPS and directs to localhost ports per container

Info

  • Standard Ubuntu Server LTS
  • HP EliteDesk 705 G4 Mini Desktop Computer, AMD Quad-Core Ryzen 5 Pro 2400GE Up to 3.8GHz, 16GB DDR4 RAM, 512GB SSD

NAS Server

Purpose

  • Manages all container storage
  • Partitions are mounted on the main server and accessed by the containers

Info

  • GMKTec G9 Mini PC NAS
  • (2) 1 TB SSD (These must be of identical size)

VPS

Purpose

  • Domain points to VPS IP
  • Receives connection through FRP tunnel
  • Runs Caddy Server that directs all traffic through FRP tunnel
  • Ubuntu Server LTS
  • 1 vCore CPU | 1 GB RAM | 10 GB NVMe SSD

Resources

Docker

  • Containerization for services

FRP (Fast Reverse Proxy)

  • Establishes secure connection between VPS and local system
  • Allows external network exposure

https://github.com/fatedier/frp

Caddy

  • Ensures SSL and redirects traffic through FRP Tunnel

Tailscale

  • Used for remote access

Squarespace Domains

  • Domain name and support

Ionos

  • VPS Hosting

Services

Immich

  • Photos App (Google Photos alternative)

Radicale

  • Calendar

Taiga

  • JIRA (yes i have my own agile board)

TrueNAS

  • Network Storage

Obsidian Sync

  • Sync notes between devices