Raspberry Pi 5 • Local network • MVPOpenAI-style API

Your own local AI box. Flash → boot → chat.

Potato OS is a simple operating system image for Raspberry Pi that lets you host models locally, expose an OpenAI-compatible endpoint, and tinker via SSH — with a tiny web portal for setup and chat.

Zero drama setup
Headless Wi‑Fi, model download, web portal.
Made for tinkering
SSH enabled, agent-friendly conventions.
🍓
Runs on Raspberry Pi 5
Trusted LAN-first • MVP speed
Local
Portal
Online
Status + chat UI in your browser
Model
Downloading\u2026
Auto-pulls a default model once online
API
Ready
OpenAI-compatible endpoint for tools & apps
Quick ping
$ potatoctl doctor
What Potato OS includes

Everything you need to run local models (and nothing you don't)

💾

Flashable OS image

A single SD-card image for Raspberry Pi 5. Flash it, boot it, and you're on the network.
📶

Headless Wi‑Fi setup

Configure SSID/password up front — no monitor, no keyboard, no ethernet.
⬇️

Model auto-download

Once online, Potato OS can pull a default model automatically from a preset link.
🧭

Web portal + chat

A tiny local website: status, model progress, and a minimal chat UI.
🔌

OpenAI-style API

Point existing clients at your Pi using familiar endpoints. Great for tools, agents, and integrations.
🛠️

SSH for tinkering

Developer-friendly by default. SSH in, inspect logs, tweak configs, iterate.
MVP boundaries
Trusted local network only • Minimal auth • One default model link
Read FAQ
The flow

Flash → Boot → Portal → Chat

Step 1~3 minutes
Flash + configure

Write the image to an SD card. Provide Wi‑Fi and a device name. Optionally set SSH credentials.

# macOS / Linux (example)
# Replace /dev/rdiskN with your SD card device
sudo dd if=potato-os.img of=/dev/rdiskN bs=4m conv=sync
Step 2first boot
Power on

Potato OS connects to Wi‑Fi and becomes reachable on your LAN. SSH is enabled for tinkering.

# Find it on your network (example)
ssh potato@potato.local
Step 3ready
Open the portal

Visit the local web portal to check status, model download progress, and chat.

# Open in your browser
http://potato.local
Agent-friendly conventions

One command to set up dev, one command to build the image, and simple diagnostics/logs so tools can work with the box predictably.

make dev
make image
potatoctl doctor
potatoctl logs api|llm|model
Keep it simple

The MVP optimizes for “it just works” on a trusted LAN. Security hardening and multi-user features can come later.

  • • LAN-only by default
  • • Minimal portal auth (MVP)
  • • Default model link baked in
  • • Easy to reflash if you mess it up
For developers

Use it like a local OpenAI endpoint

🔌
OpenAI-compatible API
Drop-in for clients & tools

Point your SDK or agent tooling at your Potato OS box. Same mental model, local latency.

# Example: curl chat completion
curl http://potato.local/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "local",
    "messages": [{"role": "user", "content": "Hello from Potato OS"}]
  }'
/v1/chat/completions/v1/modelsStreamingLocal only (MVP)
🛠️
SSH + logs
Inspect, tweak, rebuild

You can SSH in and treat it like a tiny server. See logs, restart services, or swap models.

ssh potato@potato.local
potatoctl doctor
potatoctl logs api
Expected dev loop
  1. 1) Flash an image
  2. 2) Confirm portal/API online
  3. 3) Iterate via SSH
  4. 4) Rebuild image when ready
Get started

Bring your own Pi, we'll bring the local inference

What you'll need
  • Raspberry Pi 5
  • microSD card
  • Power supply
  • Your Wi‑Fi name + password
Download links point to GitHub releases. Check the repo for the latest image.
🥔
Potato OS
Local AI, the fun way
Target user
People who want to run models locally without spending a weekend on setup.
Core promise
Flash → boot → chat on your LAN.
FAQ

Common questions

No. The MVP is designed for trusted local networks only. If you want remote access, put it behind a VPN or add real auth + TLS + firewalling first.
Yes. The default experience auto-downloads a preset model, but you can swap models and configs once SSH’d in.
No. The intention is headless setup: prefill Wi‑Fi during flashing, then use the web portal and SSH.
Minimal by design: status (online/ready), model download progress, and a basic chat interface.
It means the API shape matches common OpenAI-style endpoints so existing client tooling can talk to Potato OS with minimal changes.
Because it’s humble hardware doing surprisingly useful things — and it’s fun.