All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Deployed automatic failover for critical services (Traefik, Vaultwarden, Authentik, AdGuard) from Unraid to Nobara workstation via Keepalived VRRP with VIP 192.168.10.250. ~4 second failover time. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.0 KiB
4.0 KiB
Home Network - Unraid Server
Connect to Unraid
When user says "connect unraid", use this command:
ssh -i ~/.ssh/id_ed25519_unraid root@192.168.10.20 -p 422
Connect to Nobara (Failover Node)
ssh nobara
# or: ssh -i ~/.ssh/id_ed25519_nobara jazzymc@192.168.10.103
# sudo password: (same as SSH login)
Failover stack: /home/failover/docker-compose.yml
Keepalived: systemctl status keepalived
Connect to MikroTik HAP ax³
SSH port is 2222 (not 22):
From Mac (user xtrm):
ssh -i ~/.ssh/mikrotik_key -p 2222 xtrm@192.168.10.1
From Unraid (user unraid):
ssh -p 2222 unraid@192.168.10.1
Alternative IPs (depending on your VLAN):
- VLAN 10 (Management): 192.168.10.1
- VLAN 20 (Trusted): 192.168.20.1
- VLAN 40 (Catch-All): 192.168.1.1
WinBox (port 8291) and WebFig (port 80) also available.
Key Paths on Unraid Server
| Item | Path |
|---|---|
| Claude binary | /root/.local/bin/claude |
| Claude data | /mnt/user/appdata/claude-code/ |
| Infrastructure repo | /tmp/infrastructure (git clone) |
Infrastructure Documentation (Git-Managed)
Repository: https://git.xtrm-lab.org/jazzymc/infrastructure
All infrastructure documentation is version-controlled in Gitea:
infrastructure/
├── README.md
├── CLAUDE.md
└── docs/
├── 01-NETWORK-MAP.md # Network topology
├── 02-SERVICES-CRITICAL.md # P0/P1 services (DNS, Auth, Proxy)
├── 03-SERVICES-OTHER.md # Non-critical services
├── 04-HARDWARE-INVENTORY.md # Hardware list
├── 05-PORT-UTILIZATION.md # Device port assignments
├── 06-VLAN-DEVICE-ASSIGNMENT.md # VLAN device mapping
├── 07-WIFI-CAPSMAN-CONFIG.md # WiFi and CAPsMAN settings
├── 08-DNS-ARCHITECTURE.md # DNS failover architecture
├── 09-TAILSCALE-VPN.md # Tailscale VPN setup
├── 10-FAILOVER-NOBARA.md # VRRP failover to Nobara
├── CHANGELOG.md # Change history
├── archive/ # Completed/legacy docs
│ └── vlan-migration/ # VLAN migration project artifacts
├── incidents/ # Incident reports
└── wip/ # Work in progress
On Connect - Clone/Pull Docs First
Always ensure you have the latest infrastructure documentation:
# Clone if not exists, or pull latest
cd /tmp && \
([ -d infrastructure ] && cd infrastructure && git pull || \
git clone 'https://jazzymc:zRuHTu%5D7Q3LC%2Bq%3F@git.xtrm-lab.org/jazzymc/infrastructure.git')
Documentation Update Routine (Git-Based)
IMPORTANT: After any infrastructure change, commit to Git:
When to Update
- Service added/removed/changed
- Container started/stopped/crashed
- NAT rules changed on MikroTik
- Network configuration changed
- Phase task completed or status changed
Update Process
- Pull latest:
cd /tmp/infrastructure && git pull - Check current state:
docker ps -aon Unraid - Update docs: Edit files in
/tmp/infrastructure/docs/ - Commit & push:
cd /tmp/infrastructure git add docs/ git commit -m "Description of changes" git push
Changelog Format (docs/CHANGELOG.md)
## YYYY-MM-DD
- [PHASE X] Task description - COMPLETED/FIXED/ISSUE
- [SERVICE] service-name: status change or config change
Quick Status Check Command
ssh -i ~/.ssh/id_ed25519_unraid root@192.168.10.20 -p 422 "docker ps -a --format 'table {{.Names}}\t{{.Status}}' | grep -vE '^NAMES'"
GitOps Services
| Service | URL | Purpose |
|---|---|---|
| Gitea | https://git.xtrm-lab.org | Git repository hosting |
| Woodpecker CI | https://ci.xtrm-lab.org | CI/CD pipelines |
| Dockge | http://192.168.10.20:5001 | Docker Compose stack management |
Git Credentials (for automation)
- Username: jazzymc
- Repo URL (with auth):
https://jazzymc:zRuHTu%5D7Q3LC%2Bq%3F@git.xtrm-lab.org/jazzymc/infrastructure.git