RP5 Homelab Infrastructure - Home Assistant, VPN, Docker services
Find a file
Hofmann Engineer 98db3582c8 Update README with complete service documentation
- Added Forgejo git server info
- Quick access table
- All credentials and URLs
- Docker compose examples
- Network overview

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 03:48:02 +00:00
configs Add Home Assistant configuration files 2025-12-02 03:35:05 +00:00
README.md Update README with complete service documentation 2025-12-02 03:48:02 +00:00

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

Service URL Description
Git https://git.hofmanns.tech Source code & configs
VPN Admin https://vpn.hofmanns.tech WireGuard management
Home Assistant http://192.168.1.50:8123 Home automation
Portainer http://192.168.1.50:9000 Docker management
AdGuard Home http://192.168.1.50:3000 DNS & ad blocking
Terminal http://192.168.1.50:7681 Web SSH (ttyd)
Router http://192.168.1.1 Network config

Services

Remote (hofmanns.ai - 185.143.102.153)

Service Port URL
Caddy (HTTPS) 80/443 https://hofmanns.tech
WireGuard Easy 51820/udp VPN tunnel
WireGuard UI 51821 https://vpn.hofmanns.tech
Forgejo (Git) 3030 https://git.hofmanns.tech
Forgejo SSH 2222 git@git.hofmanns.tech:2222

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:

  1. Go to https://vpn.hofmanns.tech
  2. Click "New Client"
  3. 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