44 lines
2.1 KiB
Markdown
44 lines
2.1 KiB
Markdown
# 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
|
||
|
||
| Need | Why |
|
||
|------|-----|
|
||
| Node 20+ (`node`, `npm`) | All HTTP and worker processes |
|
||
| Git + SSH to Forgejo **port 2223** | `git clone ssh://git@git.georgelambert.org:2223/marchon/<name>.git` |
|
||
| `nats-server -js` on **127.0.0.1:4222** | Archive / billing types only — never a public bind |
|
||
| `curl` | Health probes |
|
||
|
||
Zapier cloud never talks to NATS. Do not publish `:4222`.
|
||
|
||
## Fetch
|
||
|
||
```bash
|
||
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/clone.sh` pulls `main`. `scripts/install-deps.sh` runs `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`). |
|
||
|
||
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.
|