riotsecure/README.md
cediackermann ef27add5d3 Refactor setup into modular steps; add split-device support
- 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
2026-04-24 09:53:33 +02:00

2.9 KiB

RIoT AI Setup Guide

Step-by-step instructions for setting up a Mac Mini from scratch.

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

  1. Press Enter to acknowledge
  2. Choose 2 for Standard
  3. Press Enter for Edge

Web interface configuration

  1. Open http://localhost:3000 and create an admin account.
  2. 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
  3. 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.