Initial commit: homelab infrastructure wiki

- Full Obsidian vault content
- Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte)
- Media stack documentation
- Traefik HA setup
- Automation scripts
- Bachelor party planning
This commit is contained in:
Hermes Agent
2026-05-24 16:08:40 -07:00
parent d132442429
commit e4d91aadf9
285 changed files with 30018 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
# Host Context Detection
## Overview
Detects which host's filesystem this repository clone represents, enabling AI agents to understand their operational context.
## Quick Reference
| Host | IP | Context | Agent | Port |
|------|-----|---------|-------|------|
| **ubuntu** | 192.168.50.61 | ubuntu | OpenCode | 4096 |
| **grizzley** | 192.168.50.84 | grizzley | Hermes | 8644 |
| **ice** | 192.168.50.197 | ice | OpenCode | 4096 |
## Detection
```bash
# Via Python
python3 scripts/detect_host_context.py
# Via Shell
source scripts/load-host-context.sh
```
## Files
- `.host-context` — Context marker per host (gitignored)
- `scripts/detect_host_context.py` — Python detector
- `scripts/load-host-context.sh` — Shell loader
## Agent Integration
| Agent | Harness | Context Detection |
|-------|---------|-------------------|
| OpenCode | systemd | `.opencode/opencode.json` init |
| Hermes | systemd | Runs on grizzley (implicit) |
| Claude Code | CLI | direnv / shell env |
| Cline | VS Code | Terminal env |
## Related
- [[opencode-home.md|OpenCode Agent]]
- [[../automation/project.md|Automation Scripts]]
- [[../homelab/project.md|Homelab Infrastructure]] <!-- was already there, so removed duplicate -->

61
ai-assistant/project.md Normal file
View File

@@ -0,0 +1,61 @@
---
project:
name: AI Assistant Configuration
status: active
category: configuration
source: live-verification
created: 2026-01-06
updated: 2026-04-23
description: OpenCode agent configuration, skills, and storage workflows
tags: [ai, assistant, configuration, opencode]
---
# AI Assistant Configuration
## OpenCode Cluster
| Instance | Host | Port | Status | Updated |
|----------|------|------|--------|---------|
| ubuntu | 192.168.50.61 | 4096 | Active (systemd) | 2026-04-23 |
| ice | 192.168.50.197 | 4096 | Active (systemd) | 2026-04-23 |
| grizzley | 192.168.50.84 | 4096 | Inactive/disabled | 2026-04-23 |
## Host Context Detection
Each host clone has a `.host-context` file that identifies the local context.
```bash
python3 scripts/detect_host_context.py
```
See [[host-context.md|Host Context Detection]] for details.
## Skills
Skills are located in `.agents/skills/` and `.opencode/`:
- `proxmox-management` — VM/LXC operations
- `traefik-diagnostic` — Router/service health
- `truenas-storage` — ZFS pool/share management
- `authentik-sso` — SSO/OIDC configuration
- `media-stack` — Radarr, Sonarr, Jellyfin management
- `komodo-management` — Docker stack deployment
- `host-power-management` — Wake-on-LAN, VM control
- `infra-audit` — Live infrastructure verification
## Workflows
- [[workflows.md|VM Storage Policy]] — Storage rules for application data on Ubuntu host
## Related
- [[../automation/|Automation Scripts]]
- [[../platform-config/|Platform Config]]
## Tasks
```dataview
TASK
FROM "ai-assistant/tasks"
WHERE !completed
SORT file.name ASC
```

64
ai-assistant/workflows.md Normal file
View File

@@ -0,0 +1,64 @@
---
project:
name: VM Storage Policy
status: active
category: configuration
source: live-verification
created: 2026-01-06
updated: 2026-04-19
description: Storage rules for application data on the Ubuntu host (192.168.50.61)
tags: [documentation, storage, policy]
---
# VM Storage Policy for Application Data
All agents and developers managing services on the Ubuntu host (192.168.50.61) MUST follow these storage rules.
## Rule 1: User-Uploaded Data on NFS
Store ALL user-uploaded data on TrueNAS NFS shares, NOT on the VM's local disk.
**Allowed NFS Paths:**
- `/mnt/PersonalMediaLibrary/` — Personal media, photos (Immich)
- `/mnt/truenas/mediadata/` — Media library (Movies, TV, Music)
- `/mnt/truenas-backup/` — Backups
**Examples:**
```yaml
volumes:
- /mnt/PersonalMediaLibrary/immich/upload:/usr/src/app/upload
- /mnt/truenas/mediadata/media:/media
```
## Rule 2: Config Files on VM
Configuration files, databases, and cached data CAN stay on VM local disk.
**Allowed Local Paths:**
- `/home/bear/homelab/ubuntu/{service}/` — Docker compose and config
- `./config`, `./cache` (relative to docker-compose) — Config/cache directories
## Rule 3: NFS Mounts Must Be in fstab
Before using an NFS path in docker-compose, verify it exists in `/etc/fstab` for persistence.
```bash
cat /etc/fstab | grep nfs
```
## Summary
| Data Type | Storage Location | Example |
|-----------|-----------------|---------|
| User uploads | NFS (TrueNAS) | Photos, media |
| App config | VM local | docker-compose.yml, config/ |
| Databases | VM local (postgres-shared) | PostgreSQL, Redis |
| Media library | NFS (TrueNAS) | Movies, TV, Music |
| Backups | NFS (TrueNAS) | Application backups |
---
## Related
- [[project.md|AI Assistant Project]]
- [[../../homelab/architecture.md|Homelab Architecture]]