Ping sweep + wait was the bottleneck: it blocked until all 254 pings timed out before starting the port check. Now all 254 nc checks fire simultaneously and we stop polling as soon as the first hit is written, completing in ~1s instead of ~1 minute. |
||
|---|---|---|
| content | ||
| modelfiles | ||
| steps | ||
| check-status.sh | ||
| cleanup.sh | ||
| fetchContent.sh | ||
| README.md | ||
| riot-sources.txt | ||
| setup.sh | ||
| setup_ollama.sh | ||
| setup_onyx.sh | ||
| updateModels.sh | ||
RIoT AI Setup Guide
Step-by-step instructions for setting up a Mac Mini from scratch.
Presentation Link
Quick Start
Single device (Ollama + Onyx on the same machine)
bash <(curl -fsSL https://raw.githubusercontent.com/cediackermann/riotsecure/main/setup.sh)
Two devices (Ollama on one machine, Onyx on another)
On the Ollama device — installs Ollama and the RIoT models, no Docker needed:
bash <(curl -fsSL https://raw.githubusercontent.com/cediackermann/riotsecure/main/setup_ollama.sh)
At the end the script prints the exact command to run on the Onyx device.
On the Onyx device — installs Docker and Onyx, auto-detects the Ollama device on the network:
bash <(curl -fsSL https://raw.githubusercontent.com/cediackermann/riotsecure/main/setup_onyx.sh)
The script scans the local network for Ollama. If it can't find it automatically, it will ask for the IP address.
Status & Maintenance
Check everything is working:
cd ~/riotsecure && ./check-status.sh
Update Ollama models:
cd ~/riotsecure && ./updateModels.sh modelfiles
Uninstall:
bash <(curl -fsSL https://raw.githubusercontent.com/cediackermann/riotsecure/main/cleanup.sh)
Manual Steps Reference
The scripts pause and prompt when manual action is required. Here is what to expect at each pause.
Docker Desktop resources
Go to Docker → Settings → Resources and set:
| Setting | Value |
|---|---|
| CPU limit | MAX |
| Memory limit | 20 GB (or MAX if less than 20 GB available) |
| Disk usage limit | MAX |
Hit Apply & Restart.
Onyx installer prompts
- Press Enter to acknowledge
- Choose 2 for Standard
- Press Enter for Edge
Web interface configuration
- Open
http://localhost:3000and create an admin account. - Go to Admin Panel → Language Models:
- Select Ollama as provider and give it a name
- Set the API base URL to the address shown by the setup script
- Refresh the model list, select at least the three RIoT models, and click Connect
- Go to Admin Panel → Chat Preferences → System Prompt → Modify Prompt, delete the entire prompt, and save.
RAG content upload
Option A — File upload (recommended)
cd ~/riotsecure && ./fetchContent.sh riot-sources.txt
Then in the web interface: Admin Panel → Add Connector → File, upload the files from ~/riotsecure/content, and wait ~30 seconds for indexing.
Option B — URL connector
In the web interface: Admin Panel → Add Connector → Web, add each URL from riot-sources.txt as a separate connector using scrape method Single, and wait ~30 seconds for indexing.