daybook/_archive_/hosts/nuc-daybook.md

3.8 KiB

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:

/opt/daybook

Compose file:

/opt/daybook/deploy/docker-compose.yml

Persistent state must stay outside the image:

/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:

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:

/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:

curl -fsS http://192.168.1.36:8000/api/capabilities

From the Proxmox host:

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:

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.

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:

/opt/daybook/deploy/data

Quick host-side backup command:

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.

Broader deployment handoff:

planning/daybook-container-handoff.md

NUC infrastructure docs:

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