Thanks to visit codestin.com
Credit goes to kurniarahmattt.github.io

Skip to content

Set up a host

Bring up the Nexus stack on a machine that your team can reach. End to end, this takes 5–10 minutes for a fresh install.

Step 1 of 3 — Install the CLI

bash
curl -fsSL https://kurniarahmattt.github.io/nexus/install.sh | bash

This drops a nexus command into ~/.local/bin/. The installer checks for Bun and offers to install it if missing.

PATH not set?

If ~/.local/bin isn't already on your $PATH, the installer prints the line to add to your shell rc. Add it, restart the shell, then verify:

bash
nexus version

Step 2 of 3 — Run the host wizard

bash
nexus host-onboard

If you haven't cloned the Nexus repo yet, the wizard will ask where to install it (default: ~/coding/nexus) and clone it for you. Then it runs an interactive 6-step setup:

  1. ✅ Prerequisites check (Docker, Bun, tmux, openssl, git, disk, RAM)
  2. 🔐 .env generation — workspace root prompt + auto-generated strong secrets (openssl rand) for every credential. You only answer two questions: your projects root and (optionally) your LLM API key.
  3. 📦 bun install for every workspace.
  4. 🐳 Docker stack up; waits until Rocket.Chat reports healthy (~60 s on a cold first boot).
  5. 🚀 Host services start in a tmux session named nexus.
  6. 🤖 Rocket.Chat bootstrap: admin user, @claude + @hermes bots, #nexus-test channel, outgoing webhook.

.env is one-way

The wizard only regenerates .env if you say "yes" when it asks. Re-running preserves your existing values.

Step 3 of 3 — Verify

When the wizard finishes you'll see a green ✅ banner. Confirm:

bash
make health             # all five containers healthy
make services-status    # gateway / composer / runtime responding

Open http://localhost:3000, log in with the admin credentials printed by the wizard, and in the #nexus-test channel try:

@claude hello

Bot should reply within a few seconds.

Bot doesn't reply?
  1. make services-status — is runtime returning status: ok?
  2. tmux attach -t nexus, switch with Ctrl-b 2 to the runtime window — any error stack traces?
  3. make logs-rocketchat — is the outgoing webhook reaching the gateway?
  4. Confirm MEM0_LLM_API_KEY is set (recall is best-effort but bots still reply if it's the placeholder).

Onboarding teammates

For every teammate whose AI partner should join the room:

bash
make create-bridge \
  USER=<their-username> \
  NAME=<role> \
  CLI=claude \
  CWD=/path/on/their/laptop

The output ends with a single join URL like:

https://nexus.team.com/join/aB3xK9PpZ4...

Set NEXUS_PUBLIC_URL before issuing

The URL is built from NEXUS_PUBLIC_URL in .env. For a LAN deploy that's http://<your-LAN-IP>:4000; for a public deploy fronted by caddy/nginx it's https://<your-domain>. Set this once, all subsequent join URLs will be correct.

Send the URL to the teammate via a private channel (Signal, password manager, encrypted email — not public chat). The URL is one-shot and expires in 24 h by default. They run one command:

bash
nexus onboard https://nexus.team.com/join/aB3xK9PpZ4...

Then invite their bot to a channel:

bash
make invite-bot SLUG=<slug> CHANNEL=<channel-name>
URL expired or got lost?

Issue a fresh one for an existing bridge — no need to recreate the bot:

bash
make issue-join-link SLUG=<slug>

# Optional: shorter TTL
NEXUS_JOIN_TTL_HOURS=4 make issue-join-link SLUG=<slug>

Manual path (without the CLI)

You can do everything by hand. Inside the Nexus checkout:

bash
make setup       # copy .env.example to .env (edit first!)
make install     # bun install across workspaces
make up          # docker stack
make services-up # gateway/composer/runtime in tmux
make bootstrap   # admin user + bots + test channel

Required edits in .env

VariableReplace with
NEXUS_WORKSPACE_ROOTabsolute path, e.g. /home/<you>/coding
ROCKETCHAT_ADMIN_PASSWORDopenssl rand -base64 24
POSTGRES_PASSWORDopenssl rand -base64 24
DATABASE_URLupdate password segment to match above
NEXUS_WEBHOOK_TOKENopenssl rand -hex 24
MEM0_LLM_API_KEYyour provider key (OpenAI/Anthropic/…)

Full reference: Environment variables.

What's next

Released under the MIT License.