{
  "data": {
    "a": {
      "slug": "docker-model-runner",
      "name": "Docker Model Runner",
      "vendor": "Docker, Inc.",
      "vendorUrl": "https://www.docker.com",
      "kind": "http-api",
      "category": "local-ai",
      "summary": "Docker's open-source tool for pulling and running open models from Docker Hub, OCI registries or Hugging Face. It runs through Docker Desktop, Docker Engine or a standalone `dmr` binary, with local OpenAI-, Anthropic- and Ollama-compatible APIs.",
      "url": "https://www.anchorterminal.com/tools/docker-model-runner",
      "markdownUrl": "https://www.anchorterminal.com/tools/docker-model-runner.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/docker-model-runner.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json",
      "repo": "https://github.com/docker/model-runner",
      "license": "Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "docker.io/docker/model-runner"
        }
      ],
      "auth": "none",
      "authNotes": "The API takes no credential, and the docs say it ignores any key sent. Per the docs, any client that can reach it, including other containers on the same Docker network, can pull, load and run models. In Docker Desktop, host-side TCP is off until enabled in settings or with `docker desktop enable model-runner --tcp \u003cport\u003e`, and containers reach the API at model-runner.docker.internal. In Docker Engine, TCP is on by default on port 12434. Cross-origin requests get 403 unless the origin is localhost, 127.0.0.1, 0.0.0.0 or listed in `DMR_ORIGINS` (https://docs.docker.com/ai/model-runner/; https://github.com/docker/model-runner/blob/main/pkg/envconfig/envconfig.go).",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0, with no account needed for the Docker Engine plugin or the standalone `dmr` binary. On macOS and Windows it also ships inside Docker Desktop, which is free for personal use, non-commercial open-source projects and businesses with fewer than 250 employees and under US $10,000,000 in annual revenue. Larger organisations need a paid Docker plan for Desktop (https://www.docker.com/legal/docker-subscription-service-agreement/; https://www.docker.com/pricing/, checked 2026-10-08).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 656,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.docker.com/ai/model-runner/",
      "llmsTxt": "https://docs.docker.com/llms.txt",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "inference.llm",
        "embed.text",
        "rerank",
        "image.generate"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "openai-compatible",
        "llms-txt",
        "docker",
        "go",
        "no-auth"
      ],
      "lastRelease": "2026-08-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.1,
        "grade": "C",
        "agentReady": false,
        "rank": 483,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 55,
          "payments": 60,
          "reliability": 85,
          "schema": 49,
          "security": 40,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-02-27. GHSA-m456-c56c-hh5c (CVE-2026-28400, 7.5). The unauthenticated `/engines/_configure` route accepted arbitrary runtime flags, so a caller, including a container on Docker Desktop, could overwrite files the runner could reach, the Desktop VM disk among them. Fixed in Model Runner 1.0.16 and Docker Desktop 4.61.0 and published by Docker, more than six months ago, -2. https://github.com/docker/model-runner/security/advisories/GHSA-m456-c56c-hh5c",
          "2026-03-30. GHSA-x2f5-332j-9xwq (CVE-2026-33990, 7.1). A malicious OCI registry could point the token exchange at an internal URL and make the runner send GET requests to host-local services. Fixed in 1.1.25 and Docker Desktop 4.67.0 and published by Docker, more than six months ago, -1. https://github.com/docker/model-runner/security/advisories/GHSA-x2f5-332j-9xwq"
        ],
        "verdict": "CI passes on the main branch, and Docker has published two security advisories with CVEs and fixed versions for the project. The API takes no credential, so any client or container that reaches it can pull, delete and run models, and the documentation has no OpenAPI file or error reference.",
        "bestFor": "A team that already runs Docker and wants local models served to containers and Compose services through OpenAI-, Anthropic- or Ollama-compatible routes, with models stored as OCI artefacts.",
        "strengths": [
          "OpenAI-, Anthropic- and Ollama-compatible routes on one local port, so existing clients for those three APIs work with a changed base URL",
          "CI runs lint, race-detector tests and end-to-end tests on every push to main, and the ten most recent runs on main passed on 8 October 2026",
          "Two GitHub security advisories with CVE numbers, fixed versions and workarounds, and a SECURITY.md that promises an acknowledgement within 72 hours",
          "Apache-2.0 source, and the docs list what usage data is collected with a link to the code that sends it",
          "Host-side TCP is off by default in Docker Desktop, and inference engines run sandboxed on macOS and Windows or in a container on Linux"
        ],
        "weaknesses": [
          "No credential on the API. The docs say any client that can reach it, including other containers, can pull, load and run models",
          "No OpenAPI file, no error reference and no rate-limit or retry guidance in the reviewed documentation",
          "Two releases in the 90 days to 8 October 2026 (v1.2.7 and v1.2.8), the latest on 12 August",
          "CVE-2026-28400 let an unauthenticated caller overwrite files, including the Docker Desktop VM disk, until 1.0.16 in February 2026",
          "On Docker Engine the docs say model-name requests go to Docker Hub regardless of settings, and the `DO_NOT_TRACK` switch in the source is undocumented"
        ],
        "agentNotes": [
          "Use base URL `http://localhost:12434/engines/v1` for OpenAI clients and `http://localhost:12434` for Anthropic and Ollama clients. Any API key value is accepted",
          "In Docker Desktop, run `docker desktop enable model-runner --tcp 12434` first. Host-side TCP is off by default",
          "From a container, call `http://model-runner.docker.internal` on Docker Desktop or `http://172.17.0.1:12434` on Docker Engine",
          "Raise the context before agent work with `docker model configure --context-size \u003cn\u003e \u003cmodel\u003e`. The llama.cpp default is 4,096 tokens",
          "Name models with their namespace, such as `ai/smollm2`, and expect plain-text error bodies with a 400, 404, 500 or 503 status"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.1
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 55,
          "payments": 60,
          "reliability": 85,
          "schema": 49,
          "security": 40,
          "transparency": 62
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "sudo apt-get update \u0026\u0026 sudo apt-get install docker-model-plugin   # Docker Engine on Ubuntu or Debian; Docker Desktop: docker desktop enable model-runner --tcp 12434\ndocker model pull ai/smollm2",
        "http": "curl http://localhost:12434/engines/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"ai/smollm2\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Say hello in one sentence.\"}]\n  }'",
        "claudeCode": "docker model launch claude"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/docker-model-runner"
      },
      "sameCompany": [
        "docker-agent"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "Docker, Inc.",
        "domain": "docker.com",
        "domainRegistered": "1995-01-25",
        "endpointOnVendorDomain": null,
        "terms": "https://www.docker.com/legal/docker-subscription-service-agreement/",
        "privacy": "https://www.docker.com/legal/privacy/",
        "statusPage": "",
        "changelog": "https://github.com/docker/model-runner/releases",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The repository is under GitHub's docker organisation and SECURITY.md sends reports to security@docker.com. The subscription agreement and privacy policy both name Docker, Inc.",
          "Docker publishes no terms written for Model Runner. The Docker Subscription Service Agreement (last updated 26 August 2026) governs Docker Desktop, which bundles it, and the privacy policy carries the same date. The Engine plugin and the `dmr` binary are under Apache-2.0 only.",
          "www.docker.com/.well-known/security.txt gives security@docker.com, a policy URL and an expiry of 1 January 2030.",
          "No status page is listed because the software runs on the owner's machine.",
          "RDAP for docker.com gives a registration date of 1995-01-25."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/docker-model-runner.json",
      "live": {
        "slug": "docker-model-runner",
        "pages": [
          {
            "url": "https://www.docker.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:30.95553924Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "308829465f88"
          },
          {
            "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:24.912652297Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f8cfdf3308dd"
          }
        ],
        "updatedAt": "2026-10-08T18:27:30.95553924Z"
      }
    },
    "answer": "Docker Model Runner scores 57.1 (C) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "khoj",
      "name": "Khoj",
      "vendor": "Khoj Inc.",
      "vendorUrl": "https://khoj.dev",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Open-source personal AI application with a Python server and a web interface.",
      "url": "https://www.anchorterminal.com/tools/khoj",
      "markdownUrl": "https://www.anchorterminal.com/tools/khoj.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/khoj.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/khoj.json",
      "repo": "https://github.com/khoj-ai/khoj",
      "license": "AGPL-3.0-or-later",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "khoj"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/khoj-ai/khoj"
        }
      ],
      "auth": "mixed",
      "authNotes": "The Docker Compose file and the pip quick start both run Khoj with `--anonymous-mode`, which serves every request as a default user with no sign-in and doesn't mount the /auth routes, so no API key can be created in that mode. The Compose file starts the server on 0.0.0.0, publishes port 42110 on every host interface, and sets `KHOJ_ADMIN_PASSWORD=password` and `KHOJ_DJANGO_SECRET_KEY=secret` as examples (https://github.com/khoj-ai/khoj/blob/master/docker-compose.yml). Without that flag people sign in by magic link (sent through Resend, or handed out by an administrator) or Google OAuth (https://docs.khoj.dev/advanced/authentication). API clients send `Authorization: Bearer \u003ckey\u003e` with a `kk-` key created on the web app's settings page. Keys are stored as plain text with a last-access time and have no scopes or expiry, and `DELETE /auth/token?token=\u003ckey\u003e` revokes one (https://github.com/khoj-ai/khoj/blob/master/src/khoj/configure.py; https://github.com/khoj-ai/khoj/blob/master/src/khoj/routers/auth.py). Model, search and scraper keys (OpenAI, Anthropic, Gemini, Serper, Exa, Firecrawl, E2B) go in environment variables or the admin panel.",
      "pricing": "free",
      "pricingNotes": "Free and AGPL-3.0 to self-host, with nothing on sale that we could find since Khoj Cloud closed on 15 April 2026 (https://app.khoj.dev). The README still links Khoj Enterprise at khoj.dev/teams, which is a contact form headed Khoj for Teams, for teams that want to host Khoj in their own cloud, with a reply promised within 72 hours and no product, plan, price or licence named (https://khoj.dev/teams). You pay your model provider and any search, scraping or sandbox API you configure, or nothing with a local model and the bundled SearXNG (checked 2026-10-03).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 37500,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.khoj.dev",
      "capabilities": [
        "memory.search",
        "memory.user",
        "inference.local",
        "agent.mcp-client"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "python",
        "docker",
        "beta",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-03-26",
      "graded": true,
      "disclosure": "Khoj competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 38.5,
        "grade": "E",
        "agentReady": false,
        "rank": 695,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 19,
          "payments": 60,
          "reliability": 65,
          "schema": 34,
          "security": 29,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -7,
        "negativeNotes": [
          "2026-07-13. Default-on telemetry sent the caller's IP (`client_host`) to khoj.beta.haletic.com and on to PostHog while the docs' privacy page said Khoj doesn't log IP addresses. Reported in #1374 and removed on master on 2 August 2026, but 1.42.10 and 2.0.0-beta.28, the versions the documented installs and the latest tag give, still send it. Request metadata rather than content, so the minimum, -2. https://github.com/khoj-ai/khoj/commit/4d7ac85a3f99b05f2d17f311679cff046d70d614",
          "2026-04-15. Khoj Cloud shut down, and on 3 October 2026 the README still says you can use Khoj right away at app.khoj.dev with no setup, the docs site still links to app.khoj.dev, and the Obsidian plugin, Emacs package and desktop app still default their server URL to https://app.khoj.dev. An endpoint removed while still advertised. The shutdown had three weeks' notice in the app, so the minimum, -3. https://github.com/khoj-ai/khoj/blob/master/README.md; https://github.com/khoj-ai/khoj/blob/master/src/interface/obsidian/src/settings.ts",
          "2026-02-01. CVE-2025-69207 (GHSA-6whj-7qmg-86qj, 5.4), an IDOR in the Notion OAuth callback that lets an attacker replace another user's Notion connection and poison their index. The check was hardened on 28 December 2025 and ships in 2.0.0-beta.23 and later, but the advisory lists no patched version, and 1.42.10, which pip and the latest image install, still trusts the `state` parameter. It needs a Notion OAuth app and more than one user, -1. https://github.com/khoj-ai/khoj/security/advisories/GHSA-6whj-7qmg-86qj",
          "2026-06-24. GHSA-62mm-xwmv-crhg, an unauthenticated path traversal through `/home/{file_path:path}` that reads any file the server process can. The route arrived in 2.0.0-beta.23 (29 December 2025) and was guarded in 2.0.0-beta.25 (22 February 2026), so two pre-releases were exposed and 1.42.10 never had the route. Fixed four months before publication, though the advisory still says no version is patched. Fixed and decayed, -1. https://github.com/khoj-ai/khoj/security/advisories/GHSA-62mm-xwmv-crhg; https://github.com/khoj-ai/khoj/commit/21c51b9a"
        ],
        "verdict": "AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository. No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August.",
        "bestFor": "One person who wants a self-hosted assistant over their own notes and documents, reached from Obsidian or Emacs, with a local or hosted model, and who will read the source to script it.",
        "disclosure": "Khoj competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
        "strengths": [
          "AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository",
          "Chats through Ollama, LM Studio or any OpenAI-compatible server, or OpenAI, Anthropic and Google models, and runs its embedding model in the server",
          "Indexes PDF, Markdown, org-mode, Word, Notion and GitHub content, with file, date and word filters inside the query",
          "Test CI on Python 3.10 to 3.12 against Postgres, passing on every master run we saw through 2 August 2026",
          "Named `kk-` API keys that can be listed and revoked one at a time"
        ],
        "weaknesses": [
          "No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August",
          "`pip install khoj` and the Compose file's `latest` image give 1.42.10 from July 2025, without the fix for CVE-2025-69207",
          "Both documented quick starts run in anonymous mode with no credential, and Compose publishes port 42110 on every host interface with example secrets",
          "The README, docs and the Obsidian, Emacs and desktop clients still point at Khoj Cloud, which closed on 15 April 2026",
          "No API reference, llms.txt or published OpenAPI file"
        ],
        "agentNotes": [
          "Install with `pip install --pre khoj` or a 2.0.0-beta image tag. Plain `pip install khoj` and `latest` give 1.42.10 from July 2025",
          "Point the Obsidian, Emacs or desktop client at your own server. They default to app.khoj.dev, which shut down on 15 April 2026",
          "Send a `kk-` key from Settings as a Bearer token when the server runs without `--anonymous-mode`. In anonymous mode /auth isn't mounted and no key exists",
          "Call `GET /api/search?q=...\u0026n=5` for passages and put `file:\"notes.md\"` or `dt\u003e=\"2026-01-01\"` inside `q` to filter. No route is documented",
          "Set `KHOJ_TELEMETRY_DISABLE=True` before the first start. Tagged releases send the caller's IP with telemetry"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 38.5
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 19,
          "payments": 60,
          "reliability": 65,
          "schema": 34,
          "security": 29,
          "transparency": 60
        },
        "provenanceScore": 60
      },
      "connect": {
        "install": "python -m pip install 'khoj[local]'   # then: USE_EMBEDDED_DB=\"true\" khoj --anonymous-mode   # or: wget https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml \u0026\u0026 docker-compose up"
      },
      "letme": {
        "capability": "https://letme.dev/memory.search",
        "tool": "https://letme.dev/khoj"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Khoj Inc.",
        "domain": "khoj.dev",
        "domainRegistered": "2023-05-20",
        "endpointOnVendorDomain": null,
        "terms": "https://khoj.dev/terms-of-service.html",
        "privacy": "https://khoj.dev/privacy-policy.html",
        "statusPage": "",
        "changelog": "https://github.com/khoj-ai/khoj/releases",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "The privacy policy names Khoj Inc. as the operator of khoj.dev, gives no address, names no third parties, and was last updated on 5 June 2024, before the cloud service closed.",
          "khoj.dev/.well-known/security.txt returns 404 per the listing's check. The repository has no SECURITY.md and GitHub says the project has not set one up. Private vulnerability reporting is on, with six advisories published.",
          "RDAP for khoj.dev gives a registration date of 2023-05-20, registrar Cloudflare.",
          "There's no hosted endpoint since Khoj Cloud closed on 15 April 2026. A self-hosted server answers on its owner's own host."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/khoj.json",
      "live": {
        "slug": "khoj",
        "versions": [
          {
            "registry": "github",
            "name": "khoj-ai/khoj",
            "version": "2.0.0-beta.28",
            "released": "2026-03-26",
            "seenAt": "2026-10-08T16:17:45.75696265Z"
          },
          {
            "registry": "pypi",
            "name": "khoj",
            "version": "1.42.10",
            "released": "2025-07-15",
            "seenAt": "2026-10-08T16:17:45.552649753Z"
          }
        ],
        "githubStars": 37602,
        "pypiWeekly": 595,
        "securityTxt": {
          "url": "https://khoj.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:54.020770215Z"
        },
        "domain": {
          "domain": "khoj.dev",
          "registered": "2023-05-20",
          "source": "https://pubapi.registry.google/rdap/domain/khoj.dev",
          "checkedAt": "2026-10-04T13:07:42.860690409Z"
        },
        "pages": [
          {
            "url": "https://khoj.dev/privacy-policy.html",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:21:04.451179052Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c03103b79f52"
          },
          {
            "url": "https://khoj.dev/terms-of-service.html",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:21:06.567445262Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e08893bf1c28"
          }
        ],
        "updatedAt": "2026-10-08T18:21:06.567445262Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "Model platform",
        "name": "Kind"
      },
      {
        "a": "Docker, Inc.",
        "b": "Khoj Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence",
        "b": "AGPL-3.0-or-later",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-12",
        "b": "2026-03-26",
        "name": "Last release"
      },
      {
        "a": "2026-08-26",
        "b": "2024-06-05",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-26",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "656 stars",
        "b": "38k stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "1/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Docker Model Runner scores 57.1 (C) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Docker Model Runner or Khoj?"
      },
      {
        "answer": "No hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for Khoj.",
        "question": "Can an agent call Docker Model Runner and Khoj without installing anything?"
      },
      {
        "answer": "Yes. Docker Model Runner is open source (Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence). Khoj is open source (AGPL-3.0-or-later).",
        "question": "Are Docker Model Runner and Khoj open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 65",
          "Schema \u0026 documentation, 49 against 34",
          "Agent ergonomics, 58 against 46",
          "Security \u0026 auth, 40 against 29",
          "Maintenance \u0026 community, 55 against 19",
          "Transparency \u0026 trust, 73 against 60"
        ],
        "also": [
          "No key needed to call it",
          "Free to start without a card"
        ],
        "goodFor": "A team that already runs Docker and wants local models served to containers and Compose services through OpenAI-, Anthropic- or Ollama-compatible routes, with models stored as OCI artefacts.",
        "slug": "docker-model-runner",
        "watchFor": "No credential on the API. The docs say any client that can reach it, including other containers, can pull, load and run models"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "One person who wants a self-hosted assistant over their own notes and documents, reached from Obsidian or Emacs, with a local or hosted model, and who will read the source to script it.",
        "slug": "khoj",
        "watchFor": "No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August"
      }
    ],
    "job": {
      "capability": "inference.local",
      "name": "Local inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.json",
        "title": "AnythingLLM vs Docker Model Runner",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-khoj.json",
        "title": "AnythingLLM vs Khoj",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ghost-core.json",
        "title": "Docker Model Runner vs Core",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ghost-core"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.json",
        "title": "Docker Model Runner vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-jan.json",
        "title": "Docker Model Runner vs Jan",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-jan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-llama-cpp.json",
        "title": "Docker Model Runner vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.json",
        "title": "Docker Model Runner vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-localai.json",
        "title": "Docker Model Runner vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ollama.json",
        "title": "Docker Model Runner vs Ollama",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-open-webui.json",
        "title": "Docker Model Runner vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-screenpipe.json",
        "title": "Docker Model Runner vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-screenpipe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-khoj.json",
        "title": "Core vs Khoj",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-khoj.json",
        "title": "GPT4All vs Khoj",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jan-vs-khoj.json",
        "title": "Jan vs Khoj",
        "url": "https://www.anchorterminal.com/compare/jan-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-llama-cpp.json",
        "title": "Khoj vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-lm-studio.json",
        "title": "Khoj vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-localai.json",
        "title": "Khoj vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-ollama.json",
        "title": "Khoj vs Ollama",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-open-webui.json",
        "title": "Khoj vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.json",
        "title": "Docker Model Runner vs Underdog",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-localghost.json",
        "title": "Khoj vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-screenpipe.json",
        "title": "Khoj vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-screenpipe"
      }
    ],
    "scores": [
      {
        "by": 20,
        "docker-model-runner": 85,
        "edge": "docker-model-runner",
        "key": "reliability",
        "khoj": 65,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "docker-model-runner": 49,
        "edge": "docker-model-runner",
        "key": "schema",
        "khoj": 34,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 12,
        "docker-model-runner": 58,
        "edge": "docker-model-runner",
        "key": "ergonomics",
        "khoj": 46,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 11,
        "docker-model-runner": 40,
        "edge": "docker-model-runner",
        "key": "security",
        "khoj": 29,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "docker-model-runner": 60,
        "edge": "",
        "key": "payments",
        "khoj": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 36,
        "docker-model-runner": 55,
        "edge": "docker-model-runner",
        "key": "maintenance",
        "khoj": 19,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 13,
        "docker-model-runner": 73,
        "edge": "docker-model-runner",
        "key": "transparency",
        "khoj": 60,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Docker Model Runner scores 57.1 (C) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories. Both do local inference.",
    "verdicts": {
      "docker-model-runner": "CI passes on the main branch, and Docker has published two security advisories with CVEs and fixed versions for the project. The API takes no credential, so any client or container that reaches it can pull, delete and run models, and the documentation has no OpenAPI file or error reference.",
      "khoj": "AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository. No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj",
    "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.md",
    "slim": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.min.md"
  },
  "markdown": "Docker Model Runner scores 57.1 (C) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories. Both do local inference.\n\n- Docker Model Runner: grade C, 57.1/100, rank #483 of 722. Markdown https://www.anchorterminal.com/tools/docker-model-runner.md · JSON https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json\n- Khoj: grade E, 38.5/100, rank #695 of 722. Markdown https://www.anchorterminal.com/tools/khoj.md · JSON https://www.anchorterminal.com/api/v1/tools/khoj.json\n\n## Which one, for what\n\n### Docker Model Runner (C)\n\nGood for: A team that already runs Docker and wants local models served to containers and Compose services through OpenAI-, Anthropic- or Ollama-compatible routes, with models stored as OCI artefacts.\n\nAhead on:\n- Reliability, 85 against 65\n- Schema \u0026 documentation, 49 against 34\n- Agent ergonomics, 58 against 46\n- Security \u0026 auth, 40 against 29\n- Maintenance \u0026 community, 55 against 19\n- Transparency \u0026 trust, 73 against 60\n\nAlso in its favour:\n- No key needed to call it\n- Free to start without a card\n\nWatch for: No credential on the API. The docs say any client that can reach it, including other containers, can pull, load and run models\n\n### Khoj (E)\n\nGood for: One person who wants a self-hosted assistant over their own notes and documents, reached from Obsidian or Emacs, with a local or hosted model, and who will read the source to script it.\n\nWatch for: No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August\n\n\n## Score by category\n\n| Category | Weight | Docker Model Runner | Khoj | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 65 | Docker Model Runner +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 34 | Docker Model Runner +15 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 46 | Docker Model Runner +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 29 | Docker Model Runner +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 55 | 19 | Docker Model Runner +36 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 60 | Docker Model Runner +13 |\n| Negative events | ≤15 | -3 | -7 | |\n| **Total** | | **57.1 · C** | **38.5 · E** | |\n\n## Facts side by side\n\n| Fact | Docker Model Runner | Khoj |\n| --- | --- | --- |\n| Kind | HTTP API | Model platform |\n| Vendor | Docker, Inc. | Khoj Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | OAuth or key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence | AGPL-3.0-or-later |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-08-12 | 2026-03-26 |\n| Terms last updated | 2026-08-26 | 2024-06-05 |\n| Privacy policy last updated | 2026-08-26 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 656 stars | 38k stars |\n| Agent reviews | none | 1/5 (2) |\n\n## Verdicts\n\n**Docker Model Runner.** CI passes on the main branch, and Docker has published two security advisories with CVEs and fixed versions for the project. The API takes no credential, so any client or container that reaches it can pull, delete and run models, and the documentation has no OpenAPI file or error reference.\n\n**Khoj.** AGPL-3.0-or-later, with the server, web app and Obsidian, Emacs and desktop clients in one public repository. No tagged release since 2.0.0-beta.28 on 26 March 2026 and no commit since 2 August.\n\n## Before you call either\n\n### Docker Model Runner\n\n1. Use base URL `http://localhost:12434/engines/v1` for OpenAI clients and `http://localhost:12434` for Anthropic and Ollama clients. Any API key value is accepted\n2. In Docker Desktop, run `docker desktop enable model-runner --tcp 12434` first. Host-side TCP is off by default\n3. From a container, call `http://model-runner.docker.internal` on Docker Desktop or `http://172.17.0.1:12434` on Docker Engine\n4. Raise the context before agent work with `docker model configure --context-size \u003cn\u003e \u003cmodel\u003e`. The llama.cpp default is 4,096 tokens\n5. Name models with their namespace, such as `ai/smollm2`, and expect plain-text error bodies with a 400, 404, 500 or 503 status\n\n### Khoj\n\n1. Install with `pip install --pre khoj` or a 2.0.0-beta image tag. Plain `pip install khoj` and `latest` give 1.42.10 from July 2025\n2. Point the Obsidian, Emacs or desktop client at your own server. They default to app.khoj.dev, which shut down on 15 April 2026\n3. Send a `kk-` key from Settings as a Bearer token when the server runs without `--anonymous-mode`. In anonymous mode /auth isn't mounted and no key exists\n4. Call `GET /api/search?q=...\u0026n=5` for passages and put `file:\"notes.md\"` or `dt\u003e=\"2026-01-01\"` inside `q` to filter. No route is documented\n5. Set `KHOJ_TELEMETRY_DISABLE=True` before the first start. Tagged releases send the caller's IP with telemetry\n\n## Questions\n\n### Which is better for AI agents, Docker Model Runner or Khoj?\n\nDocker Model Runner scores 57.1 (C) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories.\n\n### Can an agent call Docker Model Runner and Khoj without installing anything?\n\nNo hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for Khoj.\n\n### Are Docker Model Runner and Khoj open source?\n\nYes. Docker Model Runner is open source (Apache-2.0 (server, CLI plugin and `dmr` binary). Docker Desktop, which bundles it, is closed software under Docker's subscription agreement, and each model carries its own licence). Khoj is open source (AGPL-3.0-or-later).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docker-model-runner\", \"b\": \"khoj\"}`. From a terminal: `anchor compare docker-model-runner khoj`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json and https://www.anchorterminal.com/api/v1/tools/khoj.json\n\n## Other comparisons with Docker Model Runner or Khoj\n\n- [AnythingLLM vs Docker Model Runner](https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.md)\n- [AnythingLLM vs Khoj](https://www.anchorterminal.com/compare/anythingllm-vs-khoj.md)\n- [Docker Model Runner vs Core](https://www.anchorterminal.com/compare/docker-model-runner-vs-ghost-core.md)\n- [Docker Model Runner vs GPT4All](https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.md)\n- [Docker Model Runner vs Jan](https://www.anchorterminal.com/compare/docker-model-runner-vs-jan.md)\n- [Docker Model Runner vs llama.cpp](https://www.anchorterminal.com/compare/docker-model-runner-vs-llama-cpp.md)\n- [Docker Model Runner vs LM Studio](https://www.anchorterminal.com/compare/docker-model-runner-vs-lm-studio.md)\n- [Docker Model Runner vs LocalAI](https://www.anchorterminal.com/compare/docker-model-runner-vs-localai.md)\n- [Docker Model Runner vs Ollama](https://www.anchorterminal.com/compare/docker-model-runner-vs-ollama.md)\n- [Docker Model Runner vs Open WebUI](https://www.anchorterminal.com/compare/docker-model-runner-vs-open-webui.md)\n- [Docker Model Runner vs screenpipe](https://www.anchorterminal.com/compare/docker-model-runner-vs-screenpipe.md)\n- [Core vs Khoj](https://www.anchorterminal.com/compare/ghost-core-vs-khoj.md)\n- [GPT4All vs Khoj](https://www.anchorterminal.com/compare/gpt4all-vs-khoj.md)\n- [Jan vs Khoj](https://www.anchorterminal.com/compare/jan-vs-khoj.md)\n- [Khoj vs llama.cpp](https://www.anchorterminal.com/compare/khoj-vs-llama-cpp.md)\n- [Khoj vs LM Studio](https://www.anchorterminal.com/compare/khoj-vs-lm-studio.md)\n- [Khoj vs LocalAI](https://www.anchorterminal.com/compare/khoj-vs-localai.md)\n- [Khoj vs Ollama](https://www.anchorterminal.com/compare/khoj-vs-ollama.md)\n- [Khoj vs Open WebUI](https://www.anchorterminal.com/compare/khoj-vs-open-webui.md)\n- [Docker Model Runner vs Underdog](https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.md)\n- [Khoj vs LocalGhost](https://www.anchorterminal.com/compare/khoj-vs-localghost.md)\n- [Khoj vs screenpipe](https://www.anchorterminal.com/compare/khoj-vs-screenpipe.md)\n\n## Disclosure\n\n- Khoj competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Docker Model Runner vs Khoj",
        "url": ""
      }
    ],
    "description": "Docker Model Runner scores 57.1 (C) on agent readiness against Khoj's 38.5 (E), and leads in 6 of 7 scored categories. Both do local inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Docker Model Runner C 57.1",
      "Khoj E 38.5",
      "scores"
    ],
    "h1": "Docker Model Runner vs Khoj",
    "image": "https://www.anchorterminal.com/assets/og/compare-docker-model-runner-vs-khoj.png",
    "path": "/compare/docker-model-runner-vs-khoj",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Docker Model Runner vs Khoj for AI agents, C 57.1 vs E 38.5",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 680
  },
  "version": 1
}
