ops(rackpeek): make inventory repo-owned
This commit is contained in:
@@ -72,7 +72,7 @@ services:
|
||||
TZ: ${TZ}
|
||||
RPK_YAML_DIR: /app/config
|
||||
volumes:
|
||||
- /mnt/tank/docker/appdata/app/rackpeek/config:/app/config
|
||||
- /mnt/docker-ssd/docker/compose/dev/rackpeek:/app/config
|
||||
- /mnt/tank/docker/appdata/app/rackpeek/dpkeys:/home/app/.aspnet/DataProtection-Keys
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "cat /proc/net/tcp6 | grep -q 1F90 || exit 1"]
|
||||
|
||||
42
dev/rackpeek/README.md
Normal file
42
dev/rackpeek/README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# RackPeek source of truth
|
||||
|
||||
This directory is the git-tracked RackPeek inventory for the homelab.
|
||||
|
||||
## Files
|
||||
- `config.yaml` — current RackPeek v3 inventory assembled from the homelab docs
|
||||
|
||||
## Data sources
|
||||
Update this inventory from the canonical repo docs first:
|
||||
- `docs/architecture/ARCHITECTURE_OVERVIEW.md`
|
||||
- `docs/architecture/SERVICES_DIRECTORY.md`
|
||||
- `docs/servers/PLAUSIBLEDENABILITY.md`
|
||||
- `docs/servers/SERENITY.md`
|
||||
- `docs/servers/NOMAD.md`
|
||||
- `docs/servers/ROCINANTE.md`
|
||||
|
||||
## Runtime wiring
|
||||
The `dev/docker-compose.yaml` RackPeek service mounts this repo directory directly at `/app/config` on PD:
|
||||
- host path: `/mnt/docker-ssd/docker/compose/dev/rackpeek`
|
||||
- container path: `/app/config`
|
||||
|
||||
Data protection keys remain outside git at:
|
||||
- `/mnt/tank/docker/appdata/app/rackpeek/dpkeys`
|
||||
|
||||
## Validation
|
||||
From a repo checkout with Docker available:
|
||||
|
||||
```bash
|
||||
docker run --rm \
|
||||
-p 18283:8080 \
|
||||
-e RPK_YAML_DIR=/app/config \
|
||||
-v "$PWD/dev/rackpeek:/app/config" \
|
||||
aptacode/rackpeek:latest
|
||||
```
|
||||
|
||||
Then verify:
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:18283/health
|
||||
```
|
||||
|
||||
Expected response: `rackpeek`
|
||||
571
dev/rackpeek/config.yaml
Normal file
571
dev/rackpeek/config.yaml
Normal file
@@ -0,0 +1,571 @@
|
||||
version: 3
|
||||
resources:
|
||||
- kind: Server
|
||||
name: plausibledeniability
|
||||
cpus:
|
||||
- model: AMD Ryzen 9 3950X
|
||||
cores: 16
|
||||
threads: 32
|
||||
ram:
|
||||
size: 32
|
||||
drives:
|
||||
- type: ssd
|
||||
size: 500
|
||||
- type: hdd
|
||||
size: 4000
|
||||
- type: hdd
|
||||
size: 4000
|
||||
gpus:
|
||||
- model: NVIDIA RTX 2080 Ti
|
||||
vram: 11
|
||||
ports:
|
||||
- type: rj45
|
||||
speed: 1
|
||||
count: 1
|
||||
tags:
|
||||
- prod
|
||||
- docker-host
|
||||
- ai-light-tier
|
||||
labels:
|
||||
lan-ip: 10.5.1.6
|
||||
os: TrueNAS Scale 25.10.2.1
|
||||
docker-root: /mnt/docker-ssd/docker/docker-data
|
||||
compose-root: /mnt/docker-ssd/docker/compose
|
||||
notes: |-
|
||||
Primary Docker host.
|
||||
Storage tiers:
|
||||
- /mnt/docker-ssd = Docker root, databases, write-heavy appdata, model caches
|
||||
- /mnt/tank = general appdata, configs, backups, downloads
|
||||
- /mnt/unraid = Serenity NFS mounts for data and Immich
|
||||
|
||||
- kind: Server
|
||||
name: serenity
|
||||
cpus:
|
||||
- model: Intel Xeon X5690
|
||||
cores: 6
|
||||
threads: 12
|
||||
- model: Intel Xeon X5690
|
||||
cores: 6
|
||||
threads: 12
|
||||
ram:
|
||||
size: 102
|
||||
ports:
|
||||
- type: rj45
|
||||
speed: 1
|
||||
count: 1
|
||||
tags:
|
||||
- prod
|
||||
- storage
|
||||
- reranker
|
||||
labels:
|
||||
lan-ip: 10.5.1.5
|
||||
tailscale-ip: 100.94.87.79
|
||||
os: Unraid 7.2.4
|
||||
notes: |-
|
||||
NAS, media ingestion, and CPU-based AI inference.
|
||||
NFS exports to PD:
|
||||
- /mnt/user/data -> /mnt/unraid/data
|
||||
- /mnt/user/immich -> /mnt/unraid/immich
|
||||
|
||||
- kind: Server
|
||||
name: nomad
|
||||
cpus:
|
||||
- model: Intel Core i7-4770K
|
||||
cores: 4
|
||||
threads: 8
|
||||
ram:
|
||||
size: 32
|
||||
drives:
|
||||
- type: ssd
|
||||
size: 233
|
||||
- type: hdd
|
||||
size: 3600
|
||||
- type: hdd
|
||||
size: 3600
|
||||
- type: ssd
|
||||
size: 224
|
||||
gpus:
|
||||
- model: NVIDIA GeForce GTX 1080
|
||||
vram: 8
|
||||
ports:
|
||||
- type: rj45
|
||||
speed: 1
|
||||
count: 1
|
||||
- type: rj45
|
||||
speed: 10
|
||||
count: 1
|
||||
tags:
|
||||
- prod
|
||||
- offline-knowledge
|
||||
- game-server
|
||||
labels:
|
||||
lan-ip: 10.5.1.16
|
||||
os: Ubuntu 25.10
|
||||
notes: |-
|
||||
Offline knowledge, game server, and local services host.
|
||||
Docker data-root: /mnt/hdd-2/docker
|
||||
Project N.O.M.A.D. runtime: /opt/project-nomad
|
||||
|
||||
- kind: Server
|
||||
name: rocinante
|
||||
gpus:
|
||||
- model: NVIDIA RTX 4090
|
||||
vram: 24
|
||||
ports:
|
||||
- type: rj45
|
||||
speed: 1
|
||||
count: 1
|
||||
tags:
|
||||
- prod
|
||||
- ai-heavy-tier
|
||||
- degraded
|
||||
labels:
|
||||
lan-ip: 10.5.1.112
|
||||
notes: |-
|
||||
Heavy AI inference server.
|
||||
Current operational note from 2026-05-21:
|
||||
- Unreachable from N.O.M.A.D. on ports 11434 and 8787 during Doris validation.
|
||||
|
||||
- kind: System
|
||||
type: Baremetal
|
||||
name: pd-truenas
|
||||
os: truenas-scale-25.10.2.1
|
||||
cores: 16
|
||||
ram: 32
|
||||
ip: 10.5.1.6
|
||||
runsOn:
|
||||
- plausibledeniability
|
||||
|
||||
- kind: System
|
||||
type: Baremetal
|
||||
name: serenity-unraid
|
||||
os: unraid-7.2.4
|
||||
cores: 12
|
||||
ram: 102
|
||||
ip: 10.5.1.5
|
||||
runsOn:
|
||||
- serenity
|
||||
|
||||
- kind: System
|
||||
type: Baremetal
|
||||
name: nomad-ubuntu
|
||||
os: ubuntu-25.10
|
||||
cores: 4
|
||||
ram: 32
|
||||
ip: 10.5.1.16
|
||||
runsOn:
|
||||
- nomad
|
||||
|
||||
- kind: System
|
||||
type: Baremetal
|
||||
name: rocinante-inference
|
||||
os: baremetal
|
||||
ip: 10.5.1.112
|
||||
runsOn:
|
||||
- rocinante
|
||||
|
||||
- kind: Service
|
||||
name: homepage
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 3300
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:3300
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: dockhand
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 3230
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:3230
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: uptime-kuma
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 3001
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:3001
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: gotify
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8443
|
||||
protocol: TCP
|
||||
url: https://gotify.paccoco.com
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: gitea
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 3002
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:3002
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: gitea-ssh
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 2222
|
||||
protocol: TCP
|
||||
url: ssh://git@10.5.1.6:2222/
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: shlink
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8087
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8087
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: shlink-web-client
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8088
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8088
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: rackpeek
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8283
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8283
|
||||
tags:
|
||||
- source-of-truth-target
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: authelia
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 9091
|
||||
protocol: TCP
|
||||
url: https://auth.paccoco.com
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: litellm
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 4000
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:4000
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: openwebui
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8282
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8282
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: qdrant
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 6333
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:6333
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: searxng
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8888
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8888
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: ollama-light-tier
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 11434
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:11434
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: whisper-cpu
|
||||
network:
|
||||
ip: 10.5.1.16
|
||||
port: 8786
|
||||
protocol: TCP
|
||||
url: http://10.5.1.16:8786
|
||||
runsOn:
|
||||
- nomad-ubuntu
|
||||
|
||||
- kind: Service
|
||||
name: ollama-heavy-tier
|
||||
network:
|
||||
ip: 10.5.1.112
|
||||
port: 11434
|
||||
protocol: TCP
|
||||
url: http://10.5.1.112:11434
|
||||
tags:
|
||||
- degraded
|
||||
runsOn:
|
||||
- rocinante-inference
|
||||
|
||||
- kind: Service
|
||||
name: whisper-cuda
|
||||
network:
|
||||
ip: 10.5.1.112
|
||||
port: 8787
|
||||
protocol: TCP
|
||||
url: http://10.5.1.112:8787
|
||||
tags:
|
||||
- degraded
|
||||
runsOn:
|
||||
- rocinante-inference
|
||||
|
||||
- kind: Service
|
||||
name: reranker
|
||||
network:
|
||||
ip: 10.5.1.5
|
||||
port: 9787
|
||||
protocol: TCP
|
||||
url: http://10.5.1.5:9787
|
||||
runsOn:
|
||||
- serenity-unraid
|
||||
|
||||
- kind: Service
|
||||
name: plex
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 32400
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:32400
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: tautulli
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8181
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8181
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: audiobookshelf
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 13358
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:13358
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: calibre-web
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8183
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8183
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: seerr
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 5055
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:5055
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: immich
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 2283
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:2283
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: paperless-ngx
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8083
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8083
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: karakeep
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 3100
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:3100
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: n8n
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 5678
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:5678
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: kitchenowl
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8086
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8086
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: donetick
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 2021
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:2021
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: dakboard-bridge
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 5087
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:5087
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: qui
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 7476
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:7476
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: home-assistant
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8123
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8123
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: kima-hub
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 3333
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:3333
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: grafana
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 3000
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:3000
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: prometheus
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 9090
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:9090
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: meshmonitor
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8081
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8081
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: tileserver-gl
|
||||
network:
|
||||
ip: 10.5.1.6
|
||||
port: 8082
|
||||
protocol: TCP
|
||||
url: http://10.5.1.6:8082
|
||||
runsOn:
|
||||
- pd-truenas
|
||||
|
||||
- kind: Service
|
||||
name: pelican-panel
|
||||
network:
|
||||
ip: 10.5.1.16
|
||||
port: 80
|
||||
protocol: TCP
|
||||
url: https://panel.paccoco.com
|
||||
runsOn:
|
||||
- nomad-ubuntu
|
||||
|
||||
- kind: Service
|
||||
name: wings-node-api
|
||||
network:
|
||||
ip: 10.5.1.16
|
||||
port: 8443
|
||||
protocol: TCP
|
||||
url: https://node1.paccoco.com
|
||||
runsOn:
|
||||
- nomad-ubuntu
|
||||
Reference in New Issue
Block a user