# Homelab AI Context Document

This document gives an AI assistant full context of this homelab for infrastructure questions, deployments, debugging, and planning.

See the individual docs in this repo for detailed information:

- [Architecture Overview](../architecture/ARCHITECTURE_OVERVIEW.md)
- [Networking Model](../architecture/NETWORKING_MODEL.md)
- [Hardware Inventory](../architecture/HARDWARE_INVENTORY.md)
- [Services Directory](../architecture/SERVICES_DIRECTORY.md)
- [Stack Standards](../operations/STACK_STANDARDS.md)
- [Deployment Checklist](../operations/DEPLOYMENT_CHECKLIST.md)
- [Storage Notes](../operations/DOCKERSTACK_STORAGE_NOTES.md)
- [Backup Policy](../operations/BACKUP_POLICY.md)
- [Secrets Management](../operations/SECRETS_MANAGEMENT.md)
- [Troubleshooting](../troubleshooting/TROUBLESHOOTING.md)
- [Known Quirks](../troubleshooting/KNOWN_QUIRKS.md)
- [Serenity](../servers/SERENITY.md)
- [PlausibleDeniability](../servers/PLAUSIBLEDENABILITY.md)
- [N.O.M.A.D.](../servers/NOMAD.md)
- [Meshtastic Stack](MESHTASTIC.md)
- [Expansion Plan](../planning/HOMELAB_EXPANSION_PLAN.md)
- [TODO](../planning/TODO.md)

## Quick Reference

### Communication Preferences
- One command block at a time
- Prefer scripted/automated solutions over interactive multi-step processes
- Uses `fresh` editor (not nano) on Linux
- Manages remote servers via SSH from Windows 11
- Prefers MariaDB over PostgreSQL for standalone services

### Three Servers
| Server | Role | OS | IP |
|--------|------|----|----|
| Serenity | NAS / Media ingestion | Unraid 7.2.4 | 10.5.30.5 |
| PlausibleDeniability | Primary Docker host | TrueNAS Scale 25.10.2.1 | 10.5.30.6 |
| N.O.M.A.D. | Offline knowledge + game servers | Ubuntu 25.10 | 10.5.30.7 |

### Deployment Pattern (PD)
```bash
cd /mnt/docker-ssd/docker/compose/<stack>
docker compose --env-file .env config   # validate first
docker compose --env-file .env up -d    # deploy
docker logs <container> --tail 20       # verify
```

### Network names
- Shared DB network: `ix-databases_shared-databases`
- Reverse proxy network: `pangolin`

### Storage decision
- Write-heavy / DB / SQLite / GPU → `/mnt/docker-ssd/docker/appdata/<service>`
- General config / non-fussy → `/mnt/tank/docker/appdata/<service>`
- Media only → `/mnt/unraid/data/media/`
