Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Dream Server

One command to a full local AI stack.

LLM inference, chat UI, voice agents, workflow automation, RAG, image generation, and privacy tools — all running on your hardware. No cloud. No subscriptions. No configuration.

License: Apache 2.0GitHub StarsRelease

Dream Server Dashboard

Watch the demo

New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what Dream Server is, how it works, and how to make it your own. No technical background needed.


Platform Support — March 2026

PlatformStatus
Linux (NVIDIA + AMD)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, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — open an issue if yours doesn't.

Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.

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 for details.


Why Dream Server?

Setting up local AI usually means stitching together a dozen projects, debugging CUDA drivers, writing Docker configs, and hoping everything talks to each other. Dream Server replaces all of that with a single installer.

  • Run one command — the installer detects your GPU, picks the right model for your hardware, generates secure credentials, and launches everything
  • Chat in under 2 minutes — bootstrap mode starts a small model instantly while your full model downloads in the background
  • 13 integrated services — chat, agents, voice, workflows, search, RAG, image generation, and more, all pre-wired and working together
  • Fully moddable — drop in a folder, run dream enable, done. Every service is an extension
curl -fsSL https://raw.githubusercontent.com/Light-Heart-Labs/DreamServer/main/dream-server/get-dream-server.sh | bash

Open http://localhost:3000 and start chatting.

No GPU? Dream Server also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

./install.sh --cloud

Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

WEBUI_PORT=9090 ./install.sh

Dream Server Installer

The DREAMGATE installer handles everything — GPU detection, model selection, service orchestration.

Manual install (Linux)
git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh
Windows (PowerShell)

Requires Docker Desktop with WSL2 backend enabled. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer
.\install.ps1

The installer detects your GPU, picks the right model, generates credentials, starts all services, and creates a Desktop shortcut to the Dashboard. Manage with .\dream-server\installers\windows\dream.ps1 status.

macOS (Apple Silicon)

Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

git clone https://github.com/Light-Heart-Labs/DreamServer.git
cd DreamServer/dream-server
./install.sh

The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./dream-macos.sh status.

See the macOS Quickstart for details.


What You Get

Chat & Inference

  • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
  • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU
  • LiteLLM — API gateway supporting local/cloud/hybrid modes

Voice

  • Whisper — speech-to-text
  • Kokoro — text-to-speech

Agents & Automation

  • OpenClaw — autonomous AI agent framework
  • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)

Knowledge & Search

  • Qdrant — vector database for retrieval-augmented generation (RAG)
  • SearXNG — self-hosted web search (no tracking)
  • Perplexica — deep research engine

Creative

  • ComfyUI — node-based image generation

Privacy & Ops

  • Privacy Shield — PII scrubbing proxy for API calls
  • Dashboard — real-time GPU metrics, service health, model management

Hardware Auto-Detection

The installer detects your GPU and picks the optimal model automatically. No manual configuration.

NVIDIA

VRAMModelExample GPUs
8–11 GBQwen 2.5 7B (Q4_K_M)RTX 4060 Ti, RTX 3060 12GB
12–20 GBQwen 2.5 14B (Q4_K_M)RTX 3090, RTX 4080
20–40 GBQwen 2.5 32B (Q4_K_M)RTX 4090, A6000
40+ GBQwen 2.5 72B (Q4_K_M)A100, multi-GPU
90+ GBQwen3 Coder Next 80B MoEMulti-GPU A100/H100

AMD Strix Halo (Unified Memory)

Unified RAMModelHardware
64–89 GBQwen3 30B-A3B (30B MoE)Ryzen AI MAX+ 395 (64GB)
90+ GBQwen3 Coder Next (80B MoE)Ryzen AI MAX+ 395 (96GB)

Apple Silicon (Unified Memory, Metal)

Unified RAMModelExample Hardware
8–24 GBQwen3 4B (Q4_K_M)M1/M2 base, M4 Mac Mini (16GB)
32 GBQwen3 8B (Q4_K_M)M4 Pro Mac Mini, M3 Max MacBook Pro
48 GBQwen3 30B-A3B (MoE, Q4_K_M)M4 Pro (48GB), M2 Max (48GB)
64+ GBQwen3 30B-A3B (MoE, Q4_K_M)M2 Ultra Mac Studio, M4 Max (64GB+)

Override tier selection: ./install.sh --tier 3


Bootstrap Mode

No waiting for large downloads. Dream Server uses bootstrap mode by default:

  1. Downloads a tiny 1.5B model in under a minute
  2. You start chatting immediately
  3. The full model downloads in the background
  4. Hot-swap to the full model when it's ready — zero downtime

Installer downloading modules

The installer pulls all services in parallel. Downloads are resume-capable — interrupted downloads pick up where they left off.

Skip bootstrap: ./install.sh --no-bootstrap


Switching Models

The installer picks a model for your hardware, but you can switch anytime:

dream model current # What's running now?
dream model list # Show all available tiers
dream model swap T3 # Switch to a different tier

If the new model isn't downloaded yet, pre-fetch it first:

./scripts/pre-download.sh --tier 3 # Download before switching
dream model swap T3 # Then swap (restarts llama-server)

Already have a GGUF you want to use? Drop it in data/models/, update GGUF_FILE and LLM_MODEL in .env, and restart:

docker compose restart llama-server

Rollback is automatic — if a new model fails to load, Dream Server reverts to your previous model.


Extensibility

Dream Server is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

extensions/services/
my-service/
manifest.yaml # Metadata: name, port, health endpoint, GPU backends
compose.yaml # Docker Compose fragment (auto-merged into the stack)
dream enable my-service # Enable it
dream disable my-service # Disable it
dream list # See everything

The installer itself is modular — 6 libraries and 13 phases, each in its own file. Want to add a hardware tier, swap a default model, or skip a phase? Edit one file.

Full extension guide | Installer architecture


dream-cli

The dream CLI manages your entire stack:

dream status # Health checks + GPU status
dream list # All services and their state
dream logs llm # Tail logs (aliases: llm, stt, tts)
dream restart [service] # Restart one or all services
dream start / stop # Start or stop the stack
dream mode cloud # Switch to cloud APIs via LiteLLM
dream mode local# Switch back to local inference
dream mode hybrid # Local primary, cloud fallback
dream model swap T3 # Switch to a different hardware tier
dream enable n8n # Enable an extension
dream disable whisper # Disable one
dream config show # View .env (secrets masked)
dream preset save gaming # Snapshot current config
dream preset load gaming # Restore it

How It Compares

Dream ServerOllama + Open WebUILocalAI
One-command full-stack installLLM + agents + workflows + RAG + voice + imagesLLM + chat onlyLLM only
Hardware auto-detect + model selectionNVIDIA + AMD Strix HaloNoNo
AMD APU unified memory supportROCm + llama-serverPartial (Vulkan)No
Autonomous AI agentsOpenClawNoNo
Workflow automationn8n (400+ integrations)NoNo
Voice (STT + TTS)Whisper + KokoroNoNo
Image generationComfyUINoNo
RAG pipelineQdrant + embeddingsNoNo
Extension systemManifest-based, hot-pluggableNoNo
Multi-GPUYes (NVIDIA)PartialPartial

Documentation

QuickstartStep-by-step install guide with troubleshooting
Hardware GuideWhat to buy, tier recommendations
FAQCommon questions and configuration
ExtensionsHow to add custom services
Installer ArchitectureModular installer deep dive
ChangelogVersion history and release notes
ContributingHow to contribute

Acknowledgments

Dream Server exists because of the incredible people, projects, and communities that make open-source AI possible. We are grateful to every contributor, maintainer, and tinkerer whose work powers this stack.

Thanks to kyuz0 for amd-strix-halo-toolboxes — pre-built ROCm containers for Strix Halo that saved us a lot of pain from having to build our own. And to lhl for strix-halo-testing — the foundational Strix Halo AI research and rocWMMA performance work that the broader community builds on.

Projects that make Dream Server possible

If we missed anyone, open an issue. We want to get this right.


License

Apache 2.0 — Use it, modify it, ship it. See LICENSE.


About

One command to a full local AI stack — LLM inference, chat UI, voice, agents, workflows, RAG, and image generation. No cloud, no subscriptions.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages