Campus & REH Agents
Source: docs/self-hosted/agents.md
Generated: 01/09/2026
Run agent sessions on a self-hosted REH server or campus Docker image — shared labs with zero egress defaults.
Key Concepts
- What: Campus agents replace "cloud agents" with self-hosted REH — students use the Agents window in browser against your server.
- Why: Data sovereignty and offline-capable labs require agents on infrastructure you control, not a US-only cloud pool.
- Related: Campus deploy (
campus.md), egress policy (egress.md), agent platform (../overview/agent-platform.md).
API / Reference
| Component | Role |
|---|---|
| REH server | npm run server — headless JoinGrove backend |
| Agents browser UI | npm run sessions-web — port 8081 |
| Ollama on server | Shared localhost:11434 or lab GPU box |
| Zero egress | Default — blocks Copilot cloud on student clients |
| Platform server | Optional npm run platform-server for Studio cloud |
Commands
| Command | ID |
|---|---|
| Self-hosted wizard | joingrove.selfHostedWizard |
| Run anywhere wizard | joingrove.runAnywhereWizard |
| Set up Ollama | joingrove.setupOfflineAi |
| Security mode | joingrove.securityModeWizard |
| Telemetry dashboard | joingrove.openTelemetryDashboard |
Setup & Installation
- Deploy campus server (
campus.md) with REH or Docker. - Install Ollama on the server (or point to shared GPU endpoint).
- Run
npm run setup-offline-aion the server for shared BYOK config. - Students connect via browser → Agents UI; local Ollama serves all chat requests.
- Optional Studio cloud → run
platform-serverwithallowPlatformRequestsfor cohort projects.
Code Examples
Server-side Ollama + REH:
ollama serve &
npm run setup-offline-ai
npm run sessions-web
Verify offline-first on server:
npm run verify-offline-first
Next: Use tunnel.md if students cannot reach the campus LAN directly.
How It Connects
- Self-hosted campus:
campus.md - Ollama integration:
../integrations/ollama.md - Egress policy:
egress.md - In-app command:
joingrove.selfHostedWizard