riotsecure/README.md
cediackermann eea1d5d729 Add health check script and pre-flight checks
- Add check-status.sh to verify system health and service status
  - Checks Docker, Ollama, Onyx containers
  - Validates models and web interface
  - Shows resource usage and system info
  - Provides troubleshooting tips
- Add comprehensive pre-flight checks to setup.sh
  - Validates macOS version, disk space, memory
  - Checks internet connectivity and port availability
  - Shows installation time estimate and component list
  - Prevents installation if critical requirements not met
- Update README.md with health check script usage

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-16 10:23:14 +02:00

3 KiB

RIoT AI Setup Guide

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

Quick Start

For automated setup, run the provided script:

./setup.sh

The script automates most steps and pauses for manual configuration when needed (Docker settings, web interface setup, etc.).

After installation, verify everything is working:

./check-status.sh

For detailed manual instructions, continue reading below.


1. Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Add Homebrew to your shell profile:

echo >> /Users/riot/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> /Users/riot/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv zsh)"

2. Ollama

curl -fsSL https://ollama.com/install.sh | sh

3. Docker Desktop

brew install --cask docker-desktop
open -a Docker

Click through the installer and install any prompted software updates.

Adjust Resources

Go to Docker → Settings → Resources and set:

Setting Value
CPU limit MAX
Memory limit 20 GB
Disk usage limit MAX

Hit Apply & Restart.


4. Onyx

curl -fsSL https://onyx.app/install_onyx.sh | bash

When prompted:

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

Onyx creates ~/onyx_data/, which contains the Docker Compose file (useful for manually stopping or modifying images). There is also a .env file — leave it untouched.

Prevent Sleep

sudo pmset -a sleep 0 disksleep 0

5. Ollama Models

  1. Clone the repo:

    cd ~
    git clone https://github.com/cediackermann/riotsecure.git
    cd ~/riotsecure
    
  2. Create models from modelfiles:

    ./updateModels.sh modelfiles
    

    The required base model is pulled automatically — just wait for it to finish.

  3. Open the web interface on port 3000 and create an admin account.

  4. Go to Admin Panel → Language Models:

    • Select Ollama as provider and give it a name
    • Set the API base URL to http://host.docker.internal:11434
    • Refresh the model list, select at least the three RIoT models, and click Connect
  5. Go to Admin Panel → Chat Preferences → System Prompt → Modify Prompt, delete the entire prompt, and save.


6. RAG Content Upload

Option A — Upload as File

  1. If needed, edit the URLs in riot-sources.txt.

  2. Fetch content:

    cd ~/riotsecure
    ./fetchContent.sh riot-sources.txt
    
  3. In the web interface, go to Admin Panel → Add Connector → File.

  4. Give the connector a name and upload the files from ~/riotsecure/content.

  5. Wait ~30 seconds for indexing to complete.

Option B — Upload as URL

  1. In the web interface, go to Admin Panel → Add Connector → Web.
  2. Add each URL as a separate connector, using scrape method Single.
  3. Wait ~30 seconds for indexing to complete.