Source:
docs/manual/debian-deploy.mdThis page is generated by
site/scripts/sync-manual-docs.mjs.
Debian Deployment Guide
NATS Event Bus (Phase 12)
Installation
# Install NATS server
curl -L https://github.com/nats-io/nats-server/releases/download/v2.10.x/nats-server-v2.10.x-linux-amd64.tar.gz | tar xz
sudo cp nats-server /usr/local/bin/
sudo useradd --system --home /var/lib/nats --shell /usr/sbin/nologin nats || true
sudo mkdir -p /var/lib/nats
sudo chown -R nats:nats /var/lib/nats
Systemd Unit
Create /etc/systemd/system/nats.service:
[Unit]
Description=NATS Server
After=network.target
[Service]
Type=simple
User=nats
ExecStart=/usr/local/bin/nats-server --jetstream --store_dir /var/lib/nats --max_mem 128M -m 8222
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable --now nats
sudo systemctl status nats
Memory Budget
- NATS server:
64-128MB(configured by--max_mem) - JetStream: use file store (
--store_dir) to keep memory usage bounded - Total incremental runtime footprint: about
128MBon an8GBtarget host
Cruvero Configuration
Set the core event-bus values:
CRUVERO_EVENTS_BACKEND=nats
CRUVERO_NATS_URL=nats://localhost:4222
CRUVERO_AUDIT_BUFFER=nats
TLS (Optional Production Hardening)
- Provision server certificates (internal PKI or Let's Encrypt)
- Enable TLS in NATS with
--tls --tlscert --tlskey - Configure clients with:
CRUVERO_NATS_TLS=auto
Monitoring
- NATS monitoring endpoint:
http://localhost:8222 - JetStream stats endpoint:
http://localhost:8222/jsz - CLI health check:
event-bus status --nats-url nats://localhost:4222
Optional Components
embed-worker: run as a separate systemd unit for async embedding mode- Audit consumer: runs in-process with
cmd/workerby default