docs: add full homelab documentation structure
This commit is contained in:
73
docs/servers/NOMAD.md
Normal file
73
docs/servers/NOMAD.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# N.O.M.A.D. Server
|
||||
|
||||
Offline survival/knowledge server and game server host.
|
||||
|
||||
## Specs
|
||||
- **OS:** Ubuntu 25.10 (bare metal)
|
||||
- **IP:** 10.5.1.16
|
||||
- **CPU:** Intel Core i7-4770K @ 3.50GHz (4c/8t)
|
||||
- **RAM:** 32GB DDR3 1600MHz
|
||||
- **GPU:** NVIDIA GeForce GTX 1080 (8GB VRAM)
|
||||
- **NIC:** Intel I218-V (1GbE) + Aquantia AQC113 (10GbE)
|
||||
- **Motherboard:** ASRock H97M Pro4
|
||||
- **UPS:** None
|
||||
|
||||
## Storage
|
||||
| Device | Size | Mount | Purpose |
|
||||
|--------|------|-------|---------|
|
||||
| Samsung SSD 840 (sdb) | 232.9GB | `/` (LVM 100GB) | OS boot |
|
||||
| WD Red HDD (sda) | 3.6TB | `/mnt/hdd-1` | Primary data |
|
||||
| WD Red HDD (sdc) | 3.6TB | `/mnt/hdd-2` | Docker data-root |
|
||||
| Seagate SSD (sdd) | 223.6GB | `/mnt/ssd-1` | Fast scratch |
|
||||
|
||||
## Project N.O.M.A.D.
|
||||
- 10 containers running via `start_nomad.sh` / `stop_nomad.sh`
|
||||
- `/opt/project-nomad` → symlinked from `/mnt/hdd-1/project-nomad`
|
||||
- Docker data-root: `/mnt/hdd-2/docker`
|
||||
- Based on Crosstalk Solutions offline survival/knowledge server
|
||||
|
||||
## Pelican Panel (Game Server Management)
|
||||
- **URL:** `https://panel.paccoco.com`
|
||||
- **Stack:** PHP 8.4 + nginx + MariaDB (native, not Docker)
|
||||
- **Panel files:** `/var/www/pelican`
|
||||
- **DB:** MariaDB, database `pelican`, user `pelican`@`127.0.0.1`
|
||||
- **APP_URL:** `https://panel.paccoco.com`
|
||||
- **TRUSTED_PROXIES:** `*`
|
||||
- **Cron:** `* * * * * php /var/www/pelican/artisan schedule:run` (www-data)
|
||||
- **Admin user:** `fizzlepoof`
|
||||
- **Reverse proxy:** Pangolin via Newt container at `/opt/newt`
|
||||
|
||||
## Wings (Game Server Daemon)
|
||||
- **Binary:** `/usr/local/bin/wings`
|
||||
- **Config:** `/etc/pelican/config.yml`
|
||||
- **Systemd:** `wings.service`
|
||||
- **ExecStart:** `/usr/local/bin/wings --ignore-certificate-errors`
|
||||
- **API port:** 8443
|
||||
- **SFTP port:** 2022
|
||||
- **Node domain:** `node1.paccoco.com` (Pangolin, no auth, connection port 443)
|
||||
- **Game server volumes:** `/var/lib/pelican/volumes`
|
||||
- **Docker network:** `pelican_nw` (172.20.0.0/16)
|
||||
|
||||
## Active Game Servers
|
||||
- **Minecraft:** Purpur, Java 21, port 25565 TCP/UDP (direct host port forward)
|
||||
|
||||
## Networking Notes
|
||||
- `panel.paccoco.com` → `127.0.0.1` in `/etc/hosts` for NAT loopback
|
||||
- nginx on 80 and 443 (self-signed cert) for local Wings → Panel
|
||||
- Wings uses `--ignore-certificate-errors` for self-signed cert
|
||||
- Pangolin resource `node1.paccoco.com` has auth disabled
|
||||
|
||||
## Known Quirks
|
||||
- NVIDIA container toolkit repo has invalid GPG key — remove `/etc/apt/sources.list.d/*nvidia*` if apt errors
|
||||
- Port 8080 occupied by `nomad_admin` container — Wings uses 8443
|
||||
- Interactive artisan commands break over SSH — always use inline flags
|
||||
- Wings CORS derived from `remote:` URL — keep remote as `https://` and use `--ignore-certificate-errors`
|
||||
|
||||
## Newt Tunnel
|
||||
- Container: `newt` at `/opt/newt/docker-compose.yaml`
|
||||
- `network_mode: host`
|
||||
- Connects to Pangolin VPS at `https://paccoco.com`
|
||||
|
||||
## Pending
|
||||
- Regenerate Wings token (was exposed in chat)
|
||||
- Regenerate Newt secret (was exposed in chat)
|
||||
Reference in New Issue
Block a user