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