LXC 511–513 (nats-a/b/c on 10.10.10.21–23, vmbr1 only) form cluster verae with replicas=3. Host loopback 127.0.0.1:4222 is unchanged.
2.9 KiB
verae-bootstrap
Clone every Verae Time × Zapier module repo from Forgejo and install Node dependencies. Each server type has its own directory under types/ (repos list + README + start notes).
Forgejo: https://git.georgelambert.org/marchon/verae-bootstrap
SSH: ssh://git@git.georgelambert.org:2223/marchon/verae-bootstrap.git
Host requirements
scripts/host-deps.sh checks this machine and installs anything missing (Debian/Ubuntu apt, Alpine apk, Node tarball, nats-server release). Table: HOST-DEPS.md. Manifest: host-deps.tsv.
bash scripts/host-deps.sh --check --type ns1-all-in-one
bash scripts/host-deps.sh --type ns1-all-in-one # install
| Need | Why |
|---|---|
Node 20+ (node, npm); middleware wants 22 |
All HTTP and worker processes |
| Git + SSH to Forgejo port 2223 | git clone ssh://git@git.georgelambert.org:2223/marchon/<name>.git |
python3 make g++ |
Native addon better-sqlite3 on zappier-edge (rebuild on Linux) |
nats-server -js on 127.0.0.1:4222 |
Archive / all-in-one types only — never a public bind |
curl |
Health probes |
Alpine first line if bash is missing: apk add --no-cache bash git curl. Zapier cloud never talks to NATS. Do not publish :4222.
Fetch
git clone ssh://git@git.georgelambert.org:2223/marchon/verae-bootstrap.git
cd verae-bootstrap
export VERAE_SRC=$HOME/verae-src
bash scripts/fetch.sh # every repo
bash scripts/fetch.sh ns1-all-in-one # one server type
scripts/fetch.sh runs host-deps.sh (OS + Node), then clone.sh (main), then install-deps.sh (npm install on the target OS, then npm rebuild). Do not copy node_modules from macOS onto Linux — native addons such as better-sqlite3 will fail with invalid ELF header.
Server types
| Type | Directory | What that host runs |
|---|---|---|
| ns1-all-in-one | types/ns1-all-in-one/ |
Control plane + archive workers + keep (NS1 / 70.88.205.138) |
| control-plane | types/control-plane/ |
Fleet, edges, IAM, billing HTTP (no worm/tree floor) |
| ns1-archive | types/ns1-archive/ |
NATS + worm ×3 + tree-node ×3 + poller + webhook + aggregator + keep |
| lan-worker | types/lan-worker/ |
Extra SSH worker (tree-node, archive-worm). Keep disabled until SSH works (lan-134). |
| proxmox-worker | types/proxmox-worker/ |
LXC 510 on NS1 vmbr1 (10.10.10.20) — extra worm/tree copies |
| nats-cluster | types/nats-cluster/ |
LXC 511–513 JetStream cluster on vmbr1 (10.10.10.21–23) |
Each type has repos.txt (subset of the master list) and README.md.
NS1 all-in-one notes
:3000 on 70.88.205.138 is already a public app. zappier-edge on that box binds 127.0.0.1:13000. Public portal remains access-web :3021/portal/. Archive workers are owned by verae-keep; fleet does not double-spawn them.