145 lines
3.8 KiB
Markdown
145 lines
3.8 KiB
Markdown
# NUC Daybook Host
|
|
|
|
Current Daybook deployment target for fast local iteration.
|
|
|
|
Last checked: 2026-06-11.
|
|
|
|
## Summary
|
|
|
|
| Item | Value |
|
|
|---|---|
|
|
| Proxmox host | `pve`, Intel NUC5i3MYHE, Proxmox VE 9.1.0 / Debian 13 |
|
|
| Host LAN IP | `192.168.1.6` |
|
|
| Host Tailscale IP | `100.76.55.68` |
|
|
| Host SSH | `claude@proxmox.cygnus.internal` or `claude@nuc.cygnus.internal` |
|
|
| Container | LXC VMID `128`, hostname `daybook` |
|
|
| Container IP | `192.168.1.36/24` |
|
|
| App URL | `http://192.168.1.36:8000/` |
|
|
| API base URL | `http://192.168.1.36:8000` |
|
|
| Deployment path | `/opt/daybook` |
|
|
| Persistent data path | `/opt/daybook/deploy/data` |
|
|
| Local source tree | `C:\Users\ritte\_PR_DEV_\DEV_WEB_APPS\AGENT_DAYBOOK` |
|
|
| NUC ops repo | `C:\Users\ritte\_PR_DEV_\LIVE_ADMIN\NUC_SERVER` |
|
|
|
|
Write requests use the Daybook bearer token configured in `/opt/daybook/deploy/.env` as `DAYBOOK_API_TOKEN`.
|
|
|
|
## Runtime Shape
|
|
|
|
Daybook runs in Docker Compose inside unprivileged Debian LXC `128` with `nesting=1` enabled.
|
|
|
|
Compose root:
|
|
|
|
```text
|
|
/opt/daybook
|
|
```
|
|
|
|
Compose file:
|
|
|
|
```text
|
|
/opt/daybook/deploy/docker-compose.yml
|
|
```
|
|
|
|
Persistent state must stay outside the image:
|
|
|
|
```text
|
|
/opt/daybook/deploy/data
|
|
```
|
|
|
|
That directory contains the SQLite database and stored artifacts.
|
|
|
|
## Fast Update Loop
|
|
|
|
From the Proxmox host, rebuild the running Daybook service inside CT `128`:
|
|
|
|
```bash
|
|
sudo pct exec 128 -- bash -lc 'cd /opt/daybook && docker compose -f deploy/docker-compose.yml up -d --build'
|
|
```
|
|
|
|
Before copying source or rebuilding, preserve:
|
|
|
|
```text
|
|
/opt/daybook/deploy/.env
|
|
/opt/daybook/deploy/data
|
|
```
|
|
|
|
The current deployment was copied from the local source tree rather than cloned from a remote Git repository.
|
|
|
|
## Health Checks
|
|
|
|
From a machine that can reach the LAN:
|
|
|
|
```bash
|
|
curl -fsS http://192.168.1.36:8000/api/capabilities
|
|
```
|
|
|
|
From the Proxmox host:
|
|
|
|
```bash
|
|
sudo pct status 128
|
|
sudo pct config 128
|
|
sudo pct exec 128 -- bash -lc 'cd /opt/daybook && docker compose -f deploy/docker-compose.yml ps'
|
|
sudo pct exec 128 -- bash -lc 'test -f /opt/daybook/deploy/data/db.sqlite3 && test -d /opt/daybook/deploy/data/artifacts_store'
|
|
```
|
|
|
|
Storage check:
|
|
|
|
```bash
|
|
sudo /sbin/lvs -o vg_name,lv_name,lv_size,data_percent pve/data pve2/data
|
|
```
|
|
|
|
Important: `local-lvm` / `pve/data` was near the alert threshold at last check. New larger VM/CT disks should normally go on `local-lvm2`. Daybook already uses `local-lvm2`.
|
|
|
|
## Smoke Publish
|
|
|
|
Use this after ingest, rendering, or deployment changes. Replace the token with the value from `/opt/daybook/deploy/.env` if it changes.
|
|
|
|
```bash
|
|
curl -fsS -X POST http://192.168.1.36:8000/api/artifacts \
|
|
-H "Authorization: Bearer $DAYBOOK_API_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"persona": "deploy-smoke",
|
|
"source_type": "agent",
|
|
"source_name": "Deployment Smoke Agent",
|
|
"kind": "markdown",
|
|
"theme": "report",
|
|
"title": "Deployment Smoke Test",
|
|
"content": "# Deployment Smoke Test\n\nDaybook accepted an artifact.",
|
|
"tags": ["deploy", "smoke"],
|
|
"metadata": {"run_id": "deploy-smoke-001"}
|
|
}'
|
|
```
|
|
|
|
The response should include `id`, `url`, `api_url`, and `raw_url`. Open the returned `url` or refresh the feed.
|
|
|
|
## Backup Target
|
|
|
|
Back up this directory:
|
|
|
|
```text
|
|
/opt/daybook/deploy/data
|
|
```
|
|
|
|
Quick host-side backup command:
|
|
|
|
```bash
|
|
sudo pct exec 128 -- bash -lc 'tar -czf /tmp/daybook-data-$(date +%Y%m%d-%H%M%S).tar.gz -C /opt/daybook/deploy data'
|
|
```
|
|
|
|
For heavy write activity, stop the Compose service before archiving and start it again afterward.
|
|
|
|
## Related Docs
|
|
|
|
Broader deployment handoff:
|
|
|
|
```text
|
|
planning/daybook-container-handoff.md
|
|
```
|
|
|
|
NUC infrastructure docs:
|
|
|
|
```text
|
|
C:\Users\ritte\_PR_DEV_\LIVE_ADMIN\NUC_SERVER\knowledge_base\containers\128-daybook.md
|
|
C:\Users\ritte\_PR_DEV_\LIVE_ADMIN\NUC_SERVER\knowledge_base\daybook\api.md
|
|
C:\Users\ritte\_PR_DEV_\LIVE_ADMIN\NUC_SERVER\knowledge_base\daybook\agent-posting.md
|
|
```
|