RP5 Homelab Infrastructure
A comprehensive home automation and network management setup running on Raspberry Pi 5.
Architecture Overview
┌─────────────────────────────────────────────────────────────────┐
│ INTERNET │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────────┐
│ hofmanns.ai (185.143.102.153) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Caddy │ │ WireGuard │ │ Forgejo │ │
│ │ (HTTPS) │ │ Easy │ │ (Git UI) │ │
│ │ :80/:443 │ │ :51820/udp │ │ :3030 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────┼─────────────────┐
│ WireGuard VPN │ Tailscale │
│ │ │
┌───────▼─────────────────▼─────────────────▼─────────────────────┐
│ Router (192.168.1.1) │
└─────────────────────────┬───────────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────────┐
│ Raspberry Pi 5 (192.168.1.50) │
│ rp5.hofmanns.net │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ Docker Services ││
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ││
│ │ │Home Assistant│ │ Portainer │ │ AdGuard Home│ ││
│ │ │ :8123 │ │ :9000/:9443 │ │ :3000/:53 │ ││
│ │ └──────────────┘ └──────────────┘ └──────────────┘ ││
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ││
│ │ │ Caddy │ │ Media Hub │ │ ttyd │ ││
│ │ │ :80/:443 │ │ :3001 │ │ :7681 │ ││
│ │ └──────────────┘ └──────────────┘ └──────────────┘ ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ Tailscale Client ││
│ │ 100.64.0.1 (pike-crocodile.ts.net) ││
│ └─────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────┘
Quick Access
Services
Remote (hofmanns.ai - 185.143.102.153)
Local (RP5 - 192.168.1.50)
| Service |
Port |
Description |
| Home Assistant |
8123 |
Home automation platform |
| Portainer |
9000/9443 |
Docker management UI |
| AdGuard Home |
3000/53 |
DNS-based ad blocking |
| ttyd |
7681 |
Web-based terminal |
| Caddy |
80/443 |
Reverse proxy |
| Media Hub |
3001 |
Media aggregator |
VPN Access
WireGuard (Primary)
Server: 185.143.102.153:51820/udp
Admin UI: https://vpn.hofmanns.tech
Password: HofmannVPN2024\!
DNS: 1.1.1.1, 8.8.8.8
Add new client:
- Go to https://vpn.hofmanns.tech
- Click "New Client"
- Scan QR with WireGuard app
Tailscale (Mesh)
Network: hofmanns.net (Headscale)
RP5: rp5.hofmanns.net (100.64.0.1)
Home Assistant Dashboards
- Home (
/home) - Main dashboard
- Media Hub (
/media) - Streaming services
- Bluetooth (
/bluetooth) - BT device control
- System Admin (
/admin) - Terminal, Router, Portainer, AdGuard iframes
Git Repository
# Clone via HTTPS
git clone https://git.hofmanns.tech/hofmann/rp5-homelab.git
# Clone via SSH
git clone ssh://git@git.hofmanns.tech:2222/hofmann/rp5-homelab.git
# Git credentials
Username: hofmann
Password: HofmannGit2024\!
Docker Compose Files
WireGuard Easy
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy
container_name: wg-easy
environment:
- LANG=de
- WG_HOST=185.143.102.153
- PASSWORD_HASH=$2a$12$...
- WG_DEFAULT_DNS=1.1.1.1,8.8.8.8
- WG_PERSISTENT_KEEPALIVE=25
- UI_TRAFFIC_STATS=true
volumes:
- ./config:/etc/wireguard
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
restart: unless-stopped
Forgejo (Git)
services:
gitea:
image: codeberg.org/forgejo/forgejo:7
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__server__ROOT_URL=https://git.hofmanns.tech/
- FORGEJO__server__HTTP_PORT=3030
volumes:
- ./data:/data
- /home/ubuntu/git:/data/git/repositories
ports:
- "3030:3030"
- "2222:22"
restart: unless-stopped
Caddy (hofmanns.ai)
hofmanns.tech {
reverse_proxy localhost:8080
}
vpn.hofmanns.tech {
reverse_proxy localhost:51821
}
git.hofmanns.tech {
reverse_proxy localhost:3030
}
Quick Commands
# Docker
docker ps -a
docker restart homeassistant
docker logs -f homeassistant
# Tailscale
tailscale status
tailscale ping rp5
# SSH to hofmanns.ai
ssh -i ~/.ssh/hofmanns_ai_key ubuntu@hofmanns.ai
# WireGuard status
ssh ubuntu@hofmanns.ai "docker logs wg-easy"
Network
| Device |
LAN IP |
Tailscale IP |
| Router |
192.168.1.1 |
- |
| RP5 |
192.168.1.50 |
100.64.0.1 |
| hofmanns.ai |
185.143.102.153 |
- |
DNS: AdGuard Home (192.168.1.50:53) / Tailscale MagicDNS (100.100.100.100)
Created: 2025-12-02 | Author: Claude Code