verae-bootstrap/README.md
Scott "R00tPiG Security" Lindsey (r00tpig) 7280b41152 docs: zappier-edge is now verae-edge-billing
The billing edge repo and ns1 service were renamed on 2026-10-06
(marchon/verae-edge-billing, verae-edge-billing.service, /opt/verae/verae-edge-billing).
Old Forgejo URLs redirect; the old unit name and path remain as aliases/symlinks.
2026-10-06 14:00:02 -04:00

3.4 KiB
Raw Permalink Blame History

verae-bootstrap

standard-readme compliant

Clone every Verae Time × Zapier module repo from Forgejo and install Node dependencies. Each server type...

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 verae-edge-billing (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. verae-edge-billing 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.

Install

git clone ssh://git@git.georgelambert.org:2223/marchon/verae-bootstrap.git
cd verae-bootstrap

Usage

# No single entrypoint is declared in this tree.
ls

Contributing

Questions: open an issue at https://git.georgelambert.org/marchon/verae-bootstrap/issues. Pull requests are accepted.

License

UNLICENSED © George Lambert