Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.moorcheh.ai/llms.txt

Use this file to discover all available pages before exploring further.

Summary

RequirementRequired?Why
Python 3.10+YesInstalls moorcheh-client (CLI + SDK)
Docker EngineYesRuns the Moorcheh server container via moorcheh up
Docker DesktopNo (but common)One way to get Docker on Windows/macOS — not the only option
OllamaYes for text workflowsEmbeds documents and text search queries
OllamaOptional for vector-onlyPrecomputed vector upload/search does not call Ollama

How install and startup work

You only run two commands yourself:
pip install moorcheh-client
moorcheh up
StepWhat it doesWhat it does not do
pip install moorcheh-clientInstalls the moorcheh CLI, MoorchehApiClient Python SDK, and a docker-compose.yml bundled inside the packageDoes not start Docker, pull images, or run the server
moorcheh upFinds that bundled compose file automatically, runs docker compose, starts container(s), creates ~/.moorcheh/dataYou do not need to locate or edit the compose file
On first moorcheh up, Docker pulls moorcheh/server:latest from Docker Hub (if not cached). If host Ollama is not running, it also starts a moorcheh-ollama container. You need a working Docker daemon and docker compose (Compose V2). You do not need Docker Desktop specifically if another Docker setup provides those.
You do not need to build Moorcheh from source or run docker compose manually. That happens inside moorcheh up.

Python

Version: Python 3.10 or newer Check your version:
python --version
# or
python3 --version
Install the Moorcheh package:
pip install moorcheh-client
This installs:
  • The moorcheh CLI — run moorcheh up, moorcheh search, etc.
  • MoorchehApiClient — call the API from Python
  • A compose file at moorcheh/compose/docker-compose.yml inside the package (used automatically by moorcheh up; you never need to open it)
pip install alone does not start the server. Run moorcheh up after installing.
Use a virtual environment (python -m venv .venv) if you prefer isolated Python installs. Moorcheh does not require Node.js, Rust, or a local Moorcheh source checkout.

Docker

What Docker is used for

Moorcheh on-prem runs the API server inside a Docker container. The Python package is a launcher — it does not include the Rust server binary itself. When you run moorcheh up, it:
  1. Locates the compose file bundled in the installed package
  2. Runs docker compose up -d to start the server (and optionally Ollama)
  3. Mounts ~/.moorcheh/data so your namespaces and items persist on disk
You never need to find the compose file path or run docker compose yourself unless you are debugging. On first start, Docker pulls moorcheh/server:latest from Docker Hub. No manual docker pull is required unless you want to pre-fetch the image.

What you must have installed

ComponentRequiredNotes
Docker CLI (docker)YesMust be on your PATH
Docker Compose V2 (docker compose)YesIntegrated plugin — not the legacy standalone docker-compose binary
Running Docker daemonYesdocker info should succeed without errors
Verify:
docker --version
docker compose version
docker info
If docker info fails, the daemon is not running or your user lacks permission to access it.

Docker Desktop vs Docker Engine

Docker Desktop is not strictly required. It is the most common way to get Docker on Windows and macOS, but any setup that provides docker + docker compose + a running daemon works.
PlatformTypical setupNotes
WindowsDocker DesktopUses WSL 2 backend; recommended for most users
macOSDocker DesktopApple Silicon and Intel builds available
LinuxDocker Engine + Compose pluginDocker Desktop for Linux is optional
Linux (Docker Engine) — install Engine and the Compose plugin from Docker’s official docs, then:
sudo systemctl enable --now docker
sudo usermod -aG docker $USER   # log out/in so your user can run docker without sudo
docker compose version
Alternatives (advanced): Tools like Rancher Desktop or Colima may work if they expose a Docker-compatible CLI and daemon. Moorcheh is tested with official Docker Desktop and Docker Engine; if you use an alternative, verify docker compose works before running moorcheh up.

Ports and disk space

Default host ports:
PortService
8080Moorcheh API (http://localhost:8080)
11434Ollama (when bundled or running on the host)
If a port is already in use, change it when starting:
moorcheh up --server-port 8081
moorcheh up --bundled-ollama --ollama-port 11435
Disk: Allow space for Docker images (moorcheh/server, optionally ollama/ollama) plus your data under ~/.moorcheh/data and Ollama model weights (~hundreds of MB for nomic-embed-text). Network: First moorcheh up needs outbound access to Docker Hub to pull images.

Ollama

Ollama provides embedding models. Moorcheh uses it when:
  • Uploading documents to a text namespace (embed each document)
  • Running text semantic search (embed the query string)
Vector namespaces (you supply precomputed vectors) do not call Ollama for upload or vector-query search. If you only use vector namespaces, Ollama is still started by default when not detected on the host — you can ignore it for vector-only workflows, or use --use-host-ollama without running Ollama if you never use text features.

Default embedding model

SettingDefault
Modelnomic-embed-text
Ollama URL (inside server container)Set automatically by moorcheh up
The model name appears in moorcheh status / GET /health under "model".

Two ways to run Ollama

moorcheh up picks automatically unless you pass a flag:
ModeWhenCommand
Auto (default)Use host Ollama if already running; otherwise start bundled containermoorcheh up
Bundled OllamaAlways run Ollama in Docker (good if you don’t want a separate Ollama install)moorcheh up --bundled-ollama
Host Ollama onlyNever start moorcheh-ollama; server must reach Ollama on the hostmoorcheh up --use-host-ollama
  1. Download from ollama.com (Windows, macOS, or Linux).
  2. Start Ollama (it listens on http://127.0.0.1:11434 by default).
  3. Pull the embedding model:
ollama pull nomic-embed-text
  1. Start Moorcheh:
moorcheh up
You should see:
Using Ollama already running at http://127.0.0.1:11434 (moorcheh-ollama container not started)
Verify Ollama:
curl http://127.0.0.1:11434/

Option B — Bundled Ollama (no host install)

If Ollama is not running on the host, moorcheh up starts moorcheh-ollama automatically using the ollama/ollama:latest image. To force bundled Ollama even when host Ollama is running:
moorcheh up --bundled-ollama
After the container is up, pull the model inside the container (first text upload may also trigger a download, which can take a few minutes):
docker exec moorcheh-ollama ollama pull nomic-embed-text
Bundled Ollama stores models in a Docker volume (ollama_data), separate from a host Ollama install.

Option C — Vector-only (Ollama optional)

If you only use vector namespaces and vector search queries:
  • You can upload and search without Ollama handling your data
  • moorcheh up may still start bundled Ollama when none is detected on the host (harmless if unused)
  • Text upload or text search will fail until Ollama is available and the model is pulled

Checklist before Quickstart

Run through this list once:
# 1. Python 3.10+
python --version

# 2. Docker daemon + Compose V2
docker info
docker compose version

# 3. Install Moorcheh client
pip install moorcheh-client

# 4. (Text workflows) Ollama + model
ollama pull nomic-embed-text    # skip if using bundled Ollama only

# 5. Start Moorcheh
moorcheh up
moorcheh status
Expected from moorcheh status: "status": "ok" and "model": "nomic-embed-text". If text upload jobs fail with Ollama errors, confirm the model is pulled and Ollama is reachable from the server container (host Ollama on 127.0.0.1:11434, or bundled container running).

Troubleshooting

SymptomLikely causeWhat to try
docker: command not foundDocker not installed or not on PATHInstall Docker Desktop or Docker Engine
Cannot connect to the Docker daemonDaemon not runningStart Docker Desktop or sudo systemctl start docker
docker compose failsCompose V2 missingInstall Compose plugin
Error: docker compose failed on moorcheh upPort in use, pull failed, permissionsCheck 8080 / 11434; run docker pull moorcheh/server:latest; see moorcheh up
Text upload/search failsOllama down or model missingollama pull nomic-embed-text; or docker exec moorcheh-ollama ollama pull nomic-embed-text
Slow first text uploadModel downloading inside OllamaWait for pull to finish; retry upload

Next steps