Some checks are pending
offline / test (push) Waiting to run
zapier-docs-master now has CATALOG-HOST.md (relative PDFs / rewrite-docs-host.py) and HOST-DEPS.md. verae-bootstrap/scripts/host-deps.sh checks and installs git, Node, native build tools, and nats-server on Debian or Alpine from host-deps.tsv (every Forgejo module). fetch.sh runs it before clone/npm.
2.8 KiB
2.8 KiB
Host dependencies (scripts/host-deps.sh)
Every Forgejo module on git.georgelambert.org is listed in host-deps.tsv. This script checks that the current machine has the OS packages, Node, and (when this host runs JetStream) nats-server. Missing pieces are downloaded and installed for the OS it is running on.
| OS family | Package tool | Node | nats-server |
|---|---|---|---|
| Debian / Ubuntu | apt-get |
official linux-x64 / linux-arm64 tarball into $PREFIX |
GitHub release tarball |
| Alpine | apk |
apk add nodejs then musl tarball if still too old |
apk add nats-server or glibc release (last resort) |
| macOS | Homebrew | already on PATH or brew | brew / skip |
$PREFIX is /usr/local as root, otherwise ~/.local. Put $PREFIX/bin on PATH.
Do not copy node_modules from macOS onto Linux (better-sqlite3 → invalid ELF header). Run npm install on the target OS (scripts/install-deps.sh).
Zapier cloud never talks to NATS. nats-server binds 127.0.0.1:4222 only on ns1-all-in-one and ns1-archive.
Commands
git clone ssh://git@git.georgelambert.org:2223/marchon/verae-bootstrap.git
cd verae-bootstrap
# What this box still needs (no changes)
bash scripts/host-deps.sh --check --type ns1-all-in-one
# Install git, curl, Node 22, build tools, nats-server
bash scripts/host-deps.sh --type ns1-all-in-one
# Single module (e.g. a thin Alpine VM that only runs worm)
bash scripts/host-deps.sh --module verae-archive-worm
# Catalog PDF/HTML build tools (pandoc, weasyprint, pypdf)
bash scripts/host-deps.sh --docs --module zapier-docs-master
# Then clone + npm
export VERAE_SRC=$HOME/verae-src
bash scripts/fetch.sh ns1-all-in-one
scripts/fetch.sh runs host-deps.sh first so Git/Node exist before clone.
Module → host needs
| Module (Forgejo) | Node | npm | native C++ | NATS client | Notes |
|---|---|---|---|---|---|
| zappier-edge | 20 | yes | better-sqlite3 | yes | Rebuild sqlite on Linux |
| verae-middleware | 22 | yes | yes | ||
| verae-zapier-app / verae-activate | 18 | local zapier CLI only | Runs on Zapier cloud | ||
| archive-worm / tree-node / aggregator / splitter | 20 | yes | yes | ||
| fleet | 20 | yes | openssh-client |
||
| keep, IAM, session, access-* , identity, jobs-events, billing NATS | 20 | yes | most | ||
| overview, docs-master, user-docs, decisions, nats-accounts, ops | — | Docs only (--docs for catalog build) |
Full table: host-deps.tsv.
Server types and nats-server
| Type | nats-server on this host? |
|---|---|
| ns1-all-in-one | yes (--nats implied) |
| ns1-archive | yes |
| control-plane | no (client to NS1 loopback / private URL) |
| lan-worker | no (client; lan-134 stays disabled until SSH works) |