- Extract shared helpers into steps/common.sh (colors, print_*, wait_for_user, ask_confirmation) - Split each install step into its own sourced script under steps/ - setup.sh now sources step files instead of duplicating logic - Add setup_ollama.sh: Ollama-only device setup (no Docker) - Add setup_onyx.sh: Onyx-only device setup with auto-detection of Ollama host via network scan - setup_ollama.sh prints ready-to-run setup_onyx.sh command with detected IP at completion - Docker memory recommendation is MAX when machine has <20 GB RAM, 20 GB otherwise - cleanup.sh and check-status.sh source steps/common.sh with inline curl fallback - check-status.sh detects device mode (single/ollama/onyx) and skips irrelevant checks - cleanup.sh reinstall message lists all three setup one-liners - README updated with split-device one-liner commands
2.9 KiB
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.