Document catalog host moves and add per-module host-deps installer.
Some checks are pending
offline / test (push) Waiting to run
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.
This commit is contained in:
parent
20155de96b
commit
2d51d7a0dd
17 changed files with 629 additions and 9 deletions
63
packages/verae-bootstrap/HOST-DEPS.md
Normal file
63
packages/verae-bootstrap/HOST-DEPS.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# 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
|
||||
|
||||
```bash
|
||||
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) |
|
||||
Loading…
Add table
Add a link
Reference in a new issue