# ODS
**Osmantic Deployment System**
**Turn your PC, Mac, or Linux box into a private AI server.**
AI server and homelab setup is rapidly becoming a solved problem.
It should feel that way for everyone.
[](LICENSE)
[](https://github.com/Osmantic/ODS/stargazers)
[](https://github.com/Osmantic/ODS/releases)
[](https://youtu.be/nO8xFNHX-HA)
ODS installs and wires together everything you need to run AI locally, so you do not have to assemble Ollama, Open WebUI, n8n, ComfyUI, and privacy tools by hand:
- **Local model inference** — run open models on your own hardware
- **ChatGPT-style web UI** — talk to your models from any browser
- **Control dashboard** — manage models, services, setup, GPU status, and extensions from one place
- **Voice, agents, and workflows** — build automations that can listen, speak, call tools, and get work done
- **RAG and search** — connect local documents, private search, and retrieval workflows
- **Image generation** — run local image tools without sending prompts to a hosted API
- **Privacy and ops** — keep service auth, secrets, observability, and diagnostics in one local stack
No cloud required. No subscriptions required. Your prompts and data stay on your machine unless you choose otherwise. Cloud and hybrid API modes are optional when you want them.
**Release validation:** Operational changes are checked with a release-grade
fleet and distro lab: zero-prereq bootstrap, fresh installs, product flows,
full-model capabilities, lifecycle recovery, and the final User Green gate. See
[Release Validation](ods/docs/RELEASE_VALIDATION.md) for what a green
run proves.
**Repo layout:** the repository root holds the public README, installers,
security policy, GitHub workflows, and project coordination docs. The
`ods/` directory is the product runtime: services, installer phases,
compose overlays, dashboard, CLI, tests, and operator docs.
**Stable consumption:** `v2.6.0` is the current stable release. `main` moves
quickly; use it for active development and validation candidates. For forks,
appliances, labs, or production-like installs, pin a tagged release or audited
commit and keep your own validation receipt. Stable patch fixes land on
`release/2.6.x` before being merged forward. See
[Release Channels](ods/docs/RELEASE_CHANNELS.md),
[Installer Trust](ods/docs/INSTALLER_TRUST.md), and
[Forkability](ods/docs/FORKABILITY.md).
## Get Started
Choose your system, copy the block, run it in a normal terminal. ODS installs the stack, picks a model for your hardware, starts the services, and gives you the local web UI.
**Linux or macOS**
```bash
curl -fsSL https://install.osmantic.com/ods.sh | bash
```
**Windows PowerShell**
```powershell
$ProgressPreference = "SilentlyContinue"
$odsSrc = Join-Path $env:TEMP ("ods-install-" + [guid]::NewGuid().ToString("N"))
$odsZip = Join-Path $odsSrc "ods-main.zip"
New-Item -ItemType Directory -Path $odsSrc | Out-Null
Invoke-WebRequest "https://github.com/Osmantic/ODS/archive/refs/heads/main.zip" -OutFile $odsZip
Expand-Archive -LiteralPath $odsZip -DestinationPath $odsSrc -Force
cd (Get-ChildItem -LiteralPath $odsSrc -Directory | Select-Object -First 1).FullName
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\install.ps1
```
Prerequisites: Docker must be installed and running. On Windows, use Docker Desktop with the WSL2 backend enabled and run the block in a normal, non-Administrator PowerShell window.
The hosted Linux/macOS endpoint proxies the current bootstrap from repository `main`.
Reviewed merges reach it automatically after edge-cache refresh. `ODS_REF` selects a compatible repository checkout. See
[Installer Trust](ods/docs/INSTALLER_TRUST.md) to inspect the script or install
a stable release or audited commit manually.
Windows users should not run the `curl ... | bash` command from PowerShell. The PowerShell block above downloads the source ZIP and runs the same Windows installer used by the clone-based workflow. For more detail, see the [Windows Quickstart](ods/docs/WINDOWS-QUICKSTART.md).
After install, open **http://localhost:3000** and start chatting.
Uninstall later with the matching platform command:
```bash
cd ~/ods
./ods-uninstall.sh --force
```
```powershell
$installDir = "$env:USERPROFILE\ods"
cd $installDir
.\ods.ps1 uninstall --force
```
Windows recovery note: if the runtime folder is partial and `.\ods.ps1` is missing, run the same command from a source checkout as `.\ods\installers\windows\ods.ps1 uninstall --force`. It removes Docker resources labelled as the ODS compose project before removing the runtime directory.
> **API endpoint:** Linux Docker installs expose llama-server on **http://localhost:11434** by default (`OLLAMA_PORT`) while containers use `llama-server:8080`. macOS native Metal and Windows native/Lemonade paths use **http://localhost:8080** unless overridden. Open WebUI stays on **http://localhost:3000**.
> **No GPU?** ODS also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:
> ```bash
> ./install.sh --cloud
> ```
> **Port conflicts?** Every port is configurable via environment variables. See [`.env.example`](ods/.env.example) for the full list, or override at install time:
> ```bash
> WEBUI_PORT=9090 ./install.sh
> ```
**New here?** Read the [Friendly Guide](ods/docs/HOW-ODS-SERVER-WORKS.md) or [listen to the audio version](https://open.spotify.com/episode/40MvqJ41bC8cEgvUyOyE3K) — a complete walkthrough of what ODS is, how it works, and how to make it your own. No technical background needed.
---
## At A Glance
| Question | Answer |
|----------|--------|
| **What is it?** | A local AI server stack for your own hardware, with a one-command Linux/macOS installer and a PowerShell installer for Windows. |
| **Who is it for?** | People who want private AI at home, in a lab, or on a workstation without hand-wiring a dozen services. |
| **What do I get?** | Local inference, Open WebUI chat, a control dashboard, voice, agents, workflows, RAG, search, image generation, privacy tools, observability, and developer tools. |
| **What does it run on?** | Linux, Windows with WSL2/Docker Desktop, and macOS Apple Silicon. |
| **Is cloud required?** | No. Local mode is the default; cloud and hybrid API modes are optional. |
| If you know... | ODS adds... |
|----------------|----------------------|
| **Ollama / llama.cpp** | The surrounding server stack: chat, dashboard, voice, RAG, workflows, agents, privacy, and service management. |
| **Open WebUI** | A full installer and control plane around Open WebUI, plus pre-wired local services. |
| **AnythingLLM** | Broader local AI appliance behavior beyond RAG: inference, chat, voice, workflows, image generation, and ops. |
| **n8n self-hosted AI starter kits** | Workflow automation as one part of a larger private AI server. |
---
> **Current Platform Support**
>
> | Platform | Status |
> |----------|--------|
> | **Linux** (NVIDIA + AMD + Intel Arc) | **Supported** — install and run today |
> | **Windows** (NVIDIA + AMD) | **Supported** — install and run today |
> | **macOS** (Apple Silicon) | **Supported** — install and run today |
>
> **Tested Linux distros:** Ubuntu 24.04/22.04, Debian 12, Linux Mint 21.3, Fedora 41+, Rocky Linux 9, Arch Linux, Manjaro, CachyOS, and openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — [open an issue](https://github.com/Osmantic/ODS/issues) if yours doesn't.
>
> **Release validation:** Operational changes run through a release-grade gate
> that covers zero-prereq bootstrap, clean installs, product behavior,
> full-model capabilities, lifecycle recovery, and User Green. See
> [Release Validation](ods/docs/RELEASE_VALIDATION.md) and the
> [Validation Matrix](ods/docs/VALIDATION-MATRIX.md).
>
> **Windows:** Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs through the platform-specific accelerated path documented in the Windows installer and support matrix.
>
> **macOS:** Requires Apple Silicon (M1+) and Docker Desktop. llama-server runs natively with Metal GPU acceleration; all other services run in Docker.
>
> See the [Support Matrix](ods/docs/SUPPORT-MATRIX.md) for supported
> platform claims and the [Validation Matrix](ods/docs/VALIDATION-MATRIX.md)
> for the layered test surface used to test those claims.
---
## Why ODS?
A handful of companies control the vast majority of global AI traffic — and with it, your data, your costs, and your uptime. Every query you send to a centralized provider is business intelligence you don’t own, running on infrastructure you don’t control, priced on terms you can’t negotiate.
If AI is becoming critical infrastructure, it shouldn’t be rented. Self-hosting local AI should be a sovereign human right, not a career choice.
Because running your own AI shouldn't require a CS degree and a weekend of debugging CUDA drivers. Right now, setting up local AI means stitching together a dozen projects, writing Docker configs from scratch, and praying everything talks to each other. Most people give up and go back to paying OpenAI.
We built ODS so you don't have to.
- **One command** — detects your GPU, picks the right model, generates credentials, launches everything
- **Chatting in under 2 minutes** — bootstrap mode gives you a working model instantly while your full model downloads in the background
- **Full service stack, pre-wired** — chat, agents, voice, workflows, search, RAG, image generation, privacy tools, observability, and developer tools. All talking to each other out of the box
- **Fully moddable** — every service is an extension. Drop in a folder, run `ods enable`, done
*Built by [Osmantic](https://github.com/Osmantic) and the growing resistance that refuses to rent what should be owned.*