Compare commits

...

3 Commits

Author SHA1 Message Date
FredN9MRQ
80debaf968 Add 3D printer dashboard YAML (Bambu A1 + AD5M/ForgeX) 2026-03-11 23:38:16 -05:00
Funky (OpenClaw)
dc8cbf127c FIX: Correct RustDesk configuration (both ID+Relay on VPS 51.222.12.162)
- Updated ID Server: 51.222.12.162:21116 (was 10.0.10.23)
- Updated Relay Server: 51.222.12.162:21117 (was 66.63.182.168)
- Updated Public Key: EPO75IeD+yJo5S5wtKePpyokHGXv9FN1w5Fx+Db5UCk=
- Marked CT 123 (10.0.10.23) as deprecated - RustDesk now VPS-only
- Source: Screenshot from 2026-02-22
2026-02-23 03:48:40 +00:00
Funky (OpenClaw)
0f51041a04 Add collaboration guide for Claude Code 2026-02-23 03:43:28 +00:00
5 changed files with 292 additions and 23 deletions

View File

@@ -7,7 +7,7 @@
## HOSTS & HARDWARE ## HOSTS & HARDWARE
### VPS ### VPS
- **Primary:** 66.63.182.168 (vps.nianticbooks.com) | 2vCPU/4GB | Caddy, WireGuard, RustDesk relay - **Primary:** 51.222.12.162 (vps.nianticbooks.com) | 2vCPU/4GB | Caddy, WireGuard, RustDesk (ID+Relay)
- **Gaming:** 51.222.12.162 (deadeyeg4ming.vip) | WireGuard VPN (10.0.9.1) - **Gaming:** 51.222.12.162 (deadeyeg4ming.vip) | WireGuard VPN (10.0.9.1)
### Proxmox ### Proxmox
@@ -30,7 +30,7 @@
| 10.0.10.20 | PostgreSQL | 102 | 5432 | Shared DB (n8n, rustdesk, grafana, authentik) | | 10.0.10.20 | PostgreSQL | 102 | 5432 | Shared DB (n8n, rustdesk, grafana, authentik) |
| 10.0.10.21 | Authentik | 121 | 9000 | SSO (admin: akadmin), OAuth2/OIDC | | 10.0.10.21 | Authentik | 121 | 9000 | SSO (admin: akadmin), OAuth2/OIDC |
| 10.0.10.22 | n8n | 106 | 5678 | Workflow automation | | 10.0.10.22 | n8n | 106 | 5678 | Workflow automation |
| 10.0.10.23 | RustDesk | 123 | 21115-18 | ID server, pubkey: sfYuCTMHxrA22kukomb/RAKYyUgr8iaMfm/U4CFLfL0= | | 51.222.12.162 | RustDesk | VPS | 21116-17 | ID+Relay, pubkey: EPO75IeD+yJo5S5wtKePpyokHGXv9FN1w5Fx+Db5UCk= |
| 10.0.10.25 | Prometheus/Grafana | 125 | 9090/3000 | Monitoring | | 10.0.10.25 | Prometheus/Grafana | 125 | 9090/3000 | Monitoring |
| 10.0.10.26 | Uptime Kuma | 128 | 3001 | Status monitoring | | 10.0.10.26 | Uptime Kuma | 128 | 3001 | Status monitoring |
@@ -91,9 +91,10 @@ ssh root@10.0.10.4 # pve-storage
- ACME: `https://10.0.10.15:8443/acme/acme/directory` - ACME: `https://10.0.10.15:8443/acme/acme/directory`
- Provisioners: JWK (admin@nianticbooks.home), ACME - Provisioners: JWK (admin@nianticbooks.home), ACME
### RustDesk (10.0.10.23) ### RustDesk (51.222.12.162 / vps.nianticbooks.com)
- Public endpoint: 66.63.182.168:21117 (relay) - ID Server: 51.222.12.162:21116
- Pubkey: `sfYuCTMHxrA22kukomb/RAKYyUgr8iaMfm/U4CFLfL0=` - Relay Server: 51.222.12.162:21117
- Pubkey: `EPO75IeD+yJo5S5wtKePpyokHGXv9FN1w5Fx+Db5UCk=`
### Home Assistant (10.0.10.24:8123) ### Home Assistant (10.0.10.24:8123)
- Never commit secrets.yaml | Use secrets.yaml.example template - Never commit secrets.yaml | Use secrets.yaml.example template

View File

@@ -0,0 +1,85 @@
# For Claude Code - Infrastructure Documentation
👋 **Hey Claude Code!**
This repo is the **single source of truth** for Fred's homelab infrastructure. Both you and Funky (OpenClaw agent) share this documentation to stay in sync.
## 📍 You Are Here
**Repo:** http://10.0.10.2:3000/fred/homelab-docs
**Local:** `/root/.openclaw/workspace/fred-infrastructure/`
**Branch:** `main`
## 🎯 How to Use This
### When You Need Infrastructure Info
Check these files first:
- **SERVICES.md** - All services, IPs, ports, access details
- **IP-ALLOCATION.md** - Network map and IP assignments
- **AGENT-REFERENCE.md** - Quick reference formatted for AI agents
- **RUNBOOK.md** - Common procedures and troubleshooting
### When You Discover New Info
**DO:** Update the relevant `.md` files with new discoveries
**DO:** Commit and push changes to Gitea
**DO:** Keep Fred's `/root/.openclaw/workspace/TOOLS.md` in sync with critical info
**DON'T:** Create duplicate documentation elsewhere
### Conflict Resolution
If you and Funky have conflicting information:
1. **Document both versions** in the file with a note
2. **Tag Fred** to investigate and decide the truth
3. **Update once resolved** with a commit noting what was clarified
## 🔄 Git Workflow
```bash
# Pull latest before making changes
cd /root/.openclaw/workspace/fred-infrastructure
git pull origin main
# Make your changes, then:
git add .
git commit -m "Your descriptive commit message"
git push origin main
```
**Git credentials are already configured** - just commit and push!
## 📝 Documentation Standards
- **Be specific:** Include IPs, ports, container IDs, versions
- **Be current:** Update when you discover changes
- **Be helpful:** Think "what would another AI agent need to know?"
- **Use markdown:** Keep formatting clean and readable
## 🤝 Working With Funky
Funky monitors this repo and reads the same files you do. When you update infrastructure docs, Funky will see the changes on their next heartbeat or session start.
**Funky's main session context includes:**
- `TOOLS.md` (quick reference, points here)
- Memory files in `/root/.openclaw/workspace/memory/`
- This infrastructure repo
## 🚨 Critical Services (Handle With Care)
These services are production-critical for Fred:
- **OpenClaw Gateway** (10.0.10.28) - That's Funky's home!
- **Home Assistant** (10.0.10.24) - Smart home automation
- **n8n** (10.0.10.22) - Workflow automation & alerts
- **Uptime Kuma** (10.0.10.26) - Service monitoring
- **Proxmox Hosts** (10.0.10.3, 10.0.10.2) - Hypervisors
**Before making changes to these:** Confirm with Fred first.
## 📞 Need Help?
Ask Fred! He'll clarify conflicts, provide missing details, or guide architectural decisions.
---
**Remember:** We're a team. You, Funky, and Fred. Good documentation helps all of us work together smoothly. ✨

View File

@@ -66,7 +66,7 @@
| 10.0.10.20 | postgresql | PostgreSQL (Shared DB) | main-pve | CT 102 | Active | | 10.0.10.20 | postgresql | PostgreSQL (Shared DB) | main-pve | CT 102 | Active |
| 10.0.10.21 | authentik | Authentik SSO | main-pve | CT 121 | Active | | 10.0.10.21 | authentik | Authentik SSO | main-pve | CT 121 | Active |
| 10.0.10.22 | n8n | n8n Workflow Automation | main-pve | CT 106 | Active | | 10.0.10.22 | n8n | n8n Workflow Automation | main-pve | CT 106 | Active |
| 10.0.10.23 | rustdesk | RustDesk ID Server (hbbs) | main-pve | CT 123 | Active | | 10.0.10.23 | rustdesk | RustDesk ID Server (DEPRECATED - moved to VPS) | main-pve | CT 123 | Inactive |
| 10.0.10.24 | homeassistant | Home Assistant OS | pve-router | VM 104 | Active | | 10.0.10.24 | homeassistant | Home Assistant OS | pve-router | VM 104 | Active |
| 10.0.10.25 | prometheus | Prometheus + Grafana | main-pve | CT 125 | Active | | 10.0.10.25 | prometheus | Prometheus + Grafana | main-pve | CT 125 | Active |
| 10.0.10.26 | uptime-kuma | Uptime Kuma Monitoring | main-pve | CT 128 | Active | | 10.0.10.26 | uptime-kuma | Uptime Kuma Monitoring | main-pve | CT 128 | Active |
@@ -221,7 +221,7 @@ These devices receive dynamic IPs from UCG Ultra DHCP. Some have DHCP reservatio
| 107 | pterodactyl-wings | 10.0.10.46 | | 107 | pterodactyl-wings | 10.0.10.46 |
| 115 | ca-server | 10.0.10.15 | | 115 | ca-server | 10.0.10.15 |
| 121 | authentik | 10.0.10.21 | | 121 | authentik | 10.0.10.21 |
| 123 | rustdesk | 10.0.10.23 | | 123 | rustdesk | 10.0.10.23 | DEPRECATED - RustDesk now on VPS (51.222.12.162) |
| 125 | prometheus | 10.0.10.25 | | 125 | prometheus | 10.0.10.25 |
| 127 | dockge | 10.0.10.27 | | 127 | dockge | 10.0.10.27 |
| 128 | uptime-kuma | 10.0.10.26 | | 128 | uptime-kuma | 10.0.10.26 |

View File

@@ -39,8 +39,8 @@ This document provides detailed information about all services running in the in
| Calibre-Web | Home Lab | 10.0.10.27 | Media | ✅ Running | No | | Calibre-Web | Home Lab | 10.0.10.27 | Media | ✅ Running | No |
| Caddy Internal Proxy | Home Lab | 10.0.10.27 | Proxy | ✅ Running | No | | Caddy Internal Proxy | Home Lab | 10.0.10.27 | Proxy | ✅ Running | No |
| Vehicle Tracker | Home Lab | 10.0.10.35 | Web App | 🔄 In Development | No | | Vehicle Tracker | Home Lab | 10.0.10.35 | Web App | 🔄 In Development | No |
| RustDesk ID Server | Home Lab | 10.0.10.23 | Remote Desktop | ✅ Running | No | | RustDesk ID Server | VPS | 51.222.12.162 | Remote Desktop | ✅ Running | No |
| RustDesk Relay | VPS | 66.63.182.168 | Remote Desktop | ✅ Running | No | | RustDesk Relay | VPS | 51.222.12.162 | Remote Desktop | ✅ Running | No |
| OpenClaw Gateway | Home Lab | 10.0.10.28 | AI Agent | ✅ Running | No | | OpenClaw Gateway | Home Lab | 10.0.10.28 | AI Agent | ✅ Running | No |
| AD5M 3D Printer | Home Lab | 10.0.10.30 | IoT | ✅ Running | No | | AD5M 3D Printer | Home Lab | 10.0.10.30 | IoT | ✅ Running | No |
| WireGuard VPN | Gaming VPS | 51.222.12.162 | Tunnel | ✅ Running | Yes | | WireGuard VPN | Gaming VPS | 51.222.12.162 | Tunnel | ✅ Running | Yes |
@@ -737,30 +737,25 @@ See `CA-DEPLOYMENT-SUMMARY.md` for client certificate installation instructions.
**Purpose**: Secure remote desktop access with self-hosted infrastructure **Purpose**: Secure remote desktop access with self-hosted infrastructure
**Service Details**: **Service Details**:
- **ID Server (hbbs)**: LXC 123 on main-pve - **ID Server (hbbs)**: VPS (51.222.12.162 / vps.nianticbooks.com)
- **IP**: 10.0.10.23 - **Port**: 21116 (ID/Rendezvous)
- **Version**: 1.1.14 - **Relay Server (hbbr)**: VPS (51.222.12.162 / vps.nianticbooks.com)
- **Ports**: 21115 (NAT test), 21116 (ID/Rendezvous), 21118 (TCP punch)
- **Relay Server (hbbr)**: VPS (66.63.182.168)
- **Version**: 1.1.14
- **Port**: 21117 (Relay service) - **Port**: 21117 (Relay service)
- **Public Key**: `sfYuCTMHxrA22kukomb/RAKYyUgr8iaMfm/U4CFLfL0=` - **Public Key**: `EPO75IeD+yJo5S5wtKePpyokHGXv9FN1w5Fx+Db5UCk=`
**Architecture**: **Architecture**:
``` ```
Internet → VPS Relay (hbbr) Internet → VPS (51.222.12.162)
WireGuard Tunnel RustDesk ID Server (hbbs) + Relay (hbbr)
Home Lab ID Server (hbbs)
RustDesk Clients (P2P when possible) RustDesk Clients (P2P when possible)
``` ```
**Client Configuration**: **Client Configuration**:
- **ID Server**: `66.63.182.168` - **ID Server**: `51.222.12.162`
- **Relay Server**: `66.63.182.168` (auto-configured) - **Relay Server**: `51.222.12.162`
- **Key**: `sfYuCTMHxrA22kukomb/RAKYyUgr8iaMfm/U4CFLfL0=` - **Key**: `EPO75IeD+yJo5S5wtKePpyokHGXv9FN1w5Fx+Db5UCk=`
**Startup**: **Startup**:
```bash ```bash

View File

@@ -0,0 +1,188 @@
title: 3D Printers
icon: mdi:printer-3d
path: 3d-printers
type: panel
cards:
- type: horizontal-stack
cards:
# ─────────────────────────────────────────
# AD5M / ForgeX (Moonraker / Klipper)
# ⚠️ Connect Moonraker integration first:
# Settings → Devices → Add Integration → Moonraker
# Host: 10.0.10.30 Port: 7125
# Then verify entity IDs below match what HA reports
# ─────────────────────────────────────────
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: "🔧 AD5M (ForgeX)"
subtitle: Klipper / Moonraker
- type: picture-glance
title: ForgeX Webcam
camera_image: camera.ad5m_camera
entities: []
- type: custom:mushroom-entity-card
entity: sensor.ad5m_print_status
name: Status
icon: mdi:printer-3d-nozzle
fill_container: false
- type: custom:mushroom-template-card
primary: "{{ states('sensor.ad5m_filename') | default('Idle') }}"
secondary: >
Layer {{ states('sensor.ad5m_current_layer') }} /
{{ states('sensor.ad5m_total_layer') }}
icon: mdi:file-cog
entity: sensor.ad5m_filename
- type: gauge
entity: sensor.ad5m_progress
name: Progress
min: 0
max: 100
severity:
green: 75
yellow: 40
red: 0
- type: glance
title: Temperatures
entities:
- entity: sensor.ad5m_nozzle_temperature
name: Nozzle
- entity: sensor.ad5m_nozzle_target_temperature
name: Nozzle Target
- entity: sensor.ad5m_bed_temperature
name: Bed
- entity: sensor.ad5m_bed_target_temperature
name: Bed Target
- type: history-graph
title: Temp History (4hr)
hours_to_show: 4
entities:
- entity: sensor.ad5m_nozzle_temperature
name: Nozzle
- entity: sensor.ad5m_bed_temperature
name: Bed
- type: glance
title: Job Info
entities:
- entity: sensor.ad5m_print_duration
name: Duration
- entity: sensor.ad5m_eta
name: ETA
# ─────────────────────────────────────────
# Bambu Lab A1 (fully integrated ✅)
# ─────────────────────────────────────────
- type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: "🐼 Bambu A1"
subtitle: Bambu Lab Integration
- type: picture-glance
title: A1 Webcam
camera_image: camera.a1_03919d522604085_camera
entities: []
- type: custom:mushroom-entity-card
entity: sensor.a1_03919d522604085_print_status
name: Status
icon: mdi:printer-3d-nozzle
- type: custom:mushroom-template-card
primary: "{{ states('sensor.a1_03919d522604085_task_name') | default('Idle') }}"
secondary: >
Layer {{ states('sensor.a1_03919d522604085_current_layer') }} /
{{ states('sensor.a1_03919d522604085_total_layer_count') }}
• {{ states('sensor.a1_03919d522604085_current_stage') }}
icon: mdi:file-cog
entity: sensor.a1_03919d522604085_task_name
- type: gauge
entity: sensor.a1_03919d522604085_print_progress
name: Progress
min: 0
max: 100
severity:
green: 75
yellow: 40
red: 0
- type: glance
title: Temperatures
entities:
- entity: sensor.a1_03919d522604085_nozzle_temperature
name: Nozzle
- entity: sensor.a1_03919d522604085_nozzle_target_temperature
name: Nozzle Target
- entity: sensor.a1_03919d522604085_bed_temperature
name: Bed
- entity: sensor.a1_03919d522604085_bed_target_temperature
name: Bed Target
- type: history-graph
title: Temp History (4hr)
hours_to_show: 4
entities:
- entity: sensor.a1_03919d522604085_nozzle_temperature
name: Nozzle
- entity: sensor.a1_03919d522604085_bed_temperature
name: Bed
- type: glance
title: Job Info
entities:
- entity: sensor.a1_03919d522604085_remaining_time
name: Remaining
- entity: sensor.a1_03919d522604085_speed_profile
name: Speed
- type: entities
title: Controls
entities:
- entity: light.a1_03919d522604085_chamber_light
name: Chamber Light
- type: button
entity: button.a1_03919d522604085_pause_printing
name: Pause
icon: mdi:pause
action_name: Pause
- type: button
entity: button.a1_03919d522604085_resume_printing
name: Resume
icon: mdi:play
action_name: Resume
- type: button
entity: button.a1_03919d522604085_stop_printing
name: Stop
icon: mdi:stop
action_name: Stop
- type: entities
title: AMS Filament Trays
entities:
- entity: sensor.a1_03919d522604085_active_tray
name: Active Tray
- entity: sensor.a1_03919d522604085_ams_1_tray_1
name: Tray 1
- entity: sensor.a1_03919d522604085_ams_1_tray_2
name: Tray 2
- entity: sensor.a1_03919d522604085_ams_1_tray_3
name: Tray 3
- entity: sensor.a1_03919d522604085_ams_1_tray_4
name: Tray 4
- type: glance
title: AMS Environment
entities:
- entity: sensor.a1_03919d522604085_ams_1_temperature
name: AMS Temp
- entity: sensor.a1_03919d522604085_ams_1_humidity
name: Humidity