Files
self-directed-learning/deploy/ump-recall-sidecar.service
Hermes Agent 64a0f56453 deploy: ship ump-recall-sidecar.service as installable unit
Until now the ump-recall sidecar was started ad-hoc as a background process
and died with the session. This commit ships the systemd unit file that
makes it persist across reboots and Hermes gateway restarts.

The unit:
  - Listens on 127.0.0.1:4380 (the sidecar port the MCP shim uses)
  - Depends on ump-memory.service (canonical ump store at :4317)
  - Reads env from /etc (UMP_URL, QDRANT_URL, OLLAMA_URL, GRAPH_FILE)
  - Restarts on crash (RestartSec=3)
  - Logs to journal under SyslogIdentifier=ump-recall-sidecar

Verifies cleanly via:  curl http://127.0.0.1:4380/health
Returns upstreams reachable + graph loaded.

Install (idempotent):
  sudo cp deploy/ump-recall-sidecar.service /etc/systemd/system/
  sudo systemctl daemon-reload
  sudo systemctl enable --now ump-recall-sidecar.service
2026-07-13 21:30:44 -07:00

40 lines
1.1 KiB
Desktop File

[Unit]
Description=UMP Recall Sidecar (RRF-fused retrieval for Hermes + Krystie)
# Depend on both qdrant (RRF channel) and ump-memory (canonical store)
After=network.target ump-memory.service
Wants=ump-memory.service
[Service]
Type=simple
User=root
WorkingDirectory=/root/ump-recall
# Sidecar exposes RRF-fused recall + /get/{urn} + /health + /embed
# Sidecar connects OUTBOUND to ump at 4317, qdrant at 6333, ollama at 11434
Environment=PORT=4380
Environment=UMP_URL=http://127.0.0.1:4317
Environment=QDRANT_URL=http://127.0.0.1:6333
Environment=OLLAMA_URL=http://127.0.0.1:11434
Environment=GRAPH_FILE=/root/ump-recall/state/graph.json
Environment=GRAPH_ENABLED=true
Environment=ACTR_ENABLED=true
Environment=ACCESS_LOG_ENABLED=true
ExecStart=/usr/bin/node /root/ump-recall/src/server.js
# Always restart — handles OOM kills, crashed req handlers, dev mode restarts
Restart=always
RestartSec=3
# Graceful shutdown
KillSignal=SIGINT
TimeoutStopSec=10
# Logging (separate identifier so logs/dmesg/journal splits by service)
StandardOutput=journal
StandardError=journal
SyslogIdentifier=ump-recall-sidecar
[Install]
WantedBy=multi-user.target