{
  "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 GPT4All's 36.2 (F), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "gpt4all",
      "name": "GPT4All",
      "vendor": "Nomic, Inc.",
      "vendorUrl": "https://www.nomic.ai/gpt4all",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Desktop app from Nomic that runs GGUF models on Windows, macOS and Linux through Nomic's fork of llama.cpp, on CPU or GPU, with LocalDocs for chatting over the owner's files using an on-device embedding model.",
      "url": "https://www.anchorterminal.com/tools/gpt4all",
      "markdownUrl": "https://www.anchorterminal.com/tools/gpt4all.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gpt4all.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gpt4all.json",
      "repo": "https://github.com/nomic-ai/gpt4all",
      "license": "MIT (app, backend and bindings). Models downloaded through the app carry their own licences",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "gpt4all"
        }
      ],
      "auth": "none",
      "authNotes": "The local API server has no authentication. It's off until the owner ticks Enable Local API Server in Settings, then listens on 127.0.0.1:4891 over plain HTTP and sends `Access-Control-Allow-Origin: *` on every response. Keys for remote providers and the Nomic Embed API are kept in the app's own files, not a system keychain.",
      "pricing": "free",
      "pricingNotes": "Free and MIT with nothing to buy. Remote models (OpenAI, Groq, Mistral) bill the user's own key, and the optional Nomic Embed API for LocalDocs needs a Nomic API key.",
      "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": 77400,
        "npmWeekly": null,
        "pypiWeekly": 10957,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.gpt4all.io",
      "capabilities": [
        "inference.local",
        "inference.open-weights",
        "memory.search",
        "embed.text"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "no-key",
        "openai-compatible",
        "open-weights",
        "python"
      ],
      "lastRelease": "2025-02-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 36.2,
        "grade": "F",
        "agentReady": false,
        "rank": 706,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 41,
          "maintenance": 6,
          "payments": 60,
          "reliability": 56,
          "schema": 40,
          "security": 28,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-03"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-06-26. Two security reports filed as public issues, unanswered, with no release since. #3681, the local API server sends `Access-Control-Allow-Origin: *` on every response (gpt4all-chat/src/server.cpp line 614) and has no authentication, so a web page open in the user's browser can call /v1/chat/completions while the server is on and read the answers, including LocalDocs snippets from the owner's files. #3682, the model catalogue and the fallback model download use plain http://gpt4all.io, and the app turns TLS certificate checks off on nine request sites. A host-header fix has sat unmerged on the mitigate-dns-rebind branch since 27 May 2025. Unfixed, with the server off by default, -6. https://github.com/nomic-ai/gpt4all/issues/3681; https://github.com/nomic-ai/gpt4all/issues/3682"
        ],
        "verdict": "MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware. No release since 24 February 2025 and no commit to main since 27 May 2025.",
        "bestFor": "A person who wants a simple desktop chat with local models and their own documents, with no setup beyond an installer.",
        "strengths": [
          "MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware",
          "Usage analytics and the Datalake stay off until the user opts in at first start, with the terms shown",
          "LocalDocs indexes local files with an on-device embedding model, and the API returns the snippets it used",
          "The local server listens on 127.0.0.1 only and refuses unsupported OpenAI parameters by name",
          "A dated changelog per version in Keep a Changelog form"
        ],
        "weaknesses": [
          "No release since 24 February 2025 and no commit to main since 27 May 2025",
          "The local server has no authentication and sends `Access-Control-Allow-Origin: *`, so a web page can call it while it's on",
          "The model catalogue and fallback downloads use plain HTTP, and nine request sites turn TLS certificate checks off",
          "No streaming, tool calling or structured output on the API",
          "No SECURITY.md or security.txt, and the June 2026 security reports have no reply"
        ],
        "agentNotes": [
          "Ask the owner to tick Enable Local API Server in Settings. Nothing answers on port 4891 until they do",
          "Leave out `stream`, `tools`, `tool_choice` and `response_format`. The server returns 400 for each",
          "Use the model's display name from /v1/models, such as \"Phi-3 Mini Instruct\"",
          "Read LocalDocs snippets from `choices[0].references`. Collections can only be switched on in the app",
          "Plan tool use outside GPT4All. Its API can't call tools"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36.2
          }
        ],
        "editorialScores": {
          "ergonomics": 41,
          "maintenance": 6,
          "payments": 60,
          "reliability": 56,
          "schema": 40,
          "security": 28,
          "transparency": 54
        },
        "provenanceScore": 58
      },
      "connect": {
        "install": "pip install gpt4all   # Python SDK. The desktop app, which runs the API server, installs from https://gpt4all.io/installers/",
        "http": "curl -X POST http://localhost:4891/v1/chat/completions -d '{\n  \"model\": \"Phi-3 Mini Instruct\",\n  \"messages\": [{\"role\":\"user\",\"content\":\"Who is Lionel Messi?\"}],\n  \"max_tokens\": 50,\n  \"temperature\": 0.28\n}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/gpt4all"
      },
      "sameCompany": [
        "nomic-embed"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "Nomic, Inc.",
        "domain": "nomic.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://www.nomic.ai/privacy",
        "statusPage": "",
        "changelog": "https://github.com/nomic-ai/gpt4all/blob/main/gpt4all-chat/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "`LICENSE.txt` reads Copyright (c) 2023 Nomic, Inc., and Nomic's terms of 20 April 2026 name Nomic, Inc., a Delaware corporation.",
          "Nomic's terms at nomic.ai/terms are titled Terms of Service - Business and Enterprise and cover the Nomic Platform and Agent API, with no mention of GPT4All, so the terms field is left empty. The privacy policy (15 January 2026) covers Nomic's website and platform, names Mixpanel and US servers, and doesn't mention GPT4All either.",
          "nomic.ai/.well-known/security.txt returns 404, and the repository has no SECURITY.md.",
          "Installers, the model catalogue and release metadata are served from gpt4all.io, and docs from docs.gpt4all.io. There's no hosted endpoint, and the API server runs on the owner's machine."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gpt4all.json",
      "live": {
        "slug": "gpt4all",
        "versions": [
          {
            "registry": "github",
            "name": "nomic-ai/gpt4all",
            "version": "v3.10.0",
            "released": "2025-02-25",
            "seenAt": "2026-10-08T16:14:52.035953201Z"
          },
          {
            "registry": "pypi",
            "name": "gpt4all",
            "version": "2.8.2",
            "released": "2024-08-14",
            "seenAt": "2026-10-08T16:14:51.848144818Z"
          }
        ],
        "githubStars": 77377,
        "pypiWeekly": 10592,
        "securityTxt": {
          "url": "https://nomic.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:55.419973485Z"
        },
        "domain": {
          "domain": "nomic.ai",
          "registered": "2021-10-22",
          "source": "https://rdap.identitydigital.services/rdap/domain/nomic.ai",
          "checkedAt": "2026-10-04T13:09:16.171290345Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/nomic-ai/gpt4all/main/gpt4all-chat/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-08T18:24:29.725233314Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5e4e4d883d6e"
          },
          {
            "url": "https://www.nomic.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:20.057365648Z",
            "changedAt": "2026-10-06T16:16:07.873015295Z",
            "fingerprint": "221b22e3ab3c"
          }
        ],
        "updatedAt": "2026-10-08T18:29:20.057365648Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "Model platform",
        "name": "Kind"
      },
      {
        "a": "Docker, Inc.",
        "b": "Nomic, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "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": "MIT (app, backend and bindings). Models downloaded through the app carry their own licences",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-12",
        "b": "2025-02-24",
        "name": "Last release"
      },
      {
        "a": "2026-08-26",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-26",
        "b": "2026-01-15",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "656 stars",
        "b": "77k stars, 11k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "1/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Docker Model Runner scores 57.1 (C) on agent readiness against GPT4All's 36.2 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Docker Model Runner or GPT4All?"
      },
      {
        "answer": "No hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for GPT4All.",
        "question": "Can an agent call Docker Model Runner and GPT4All 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). GPT4All is open source (MIT (app, backend and bindings). Models downloaded through the app carry their own licences).",
        "question": "Are Docker Model Runner and GPT4All open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 56",
          "Schema \u0026 documentation, 49 against 40",
          "Agent ergonomics, 58 against 41",
          "Security \u0026 auth, 40 against 28",
          "Maintenance \u0026 community, 55 against 6",
          "Transparency \u0026 trust, 73 against 56"
        ],
        "also": null,
        "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": "A person who wants a simple desktop chat with local models and their own documents, with no setup beyond an installer.",
        "slug": "gpt4all",
        "watchFor": "No release since 24 February 2025 and no commit to main since 27 May 2025"
      }
    ],
    "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-gpt4all.json",
        "title": "AnythingLLM vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all"
      },
      {
        "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-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-khoj.json",
        "title": "Docker Model Runner vs Khoj",
        "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj"
      },
      {
        "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-gpt4all.json",
        "title": "Core vs GPT4All",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-gpt4all"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-jan.json",
        "title": "GPT4All vs Jan",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-jan"
      },
      {
        "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/gpt4all-vs-llama-cpp.json",
        "title": "GPT4All vs llama.cpp",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-llama-cpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio.json",
        "title": "GPT4All vs LM Studio",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-localai.json",
        "title": "GPT4All vs LocalAI",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-localai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-ollama.json",
        "title": "GPT4All vs Ollama",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-ollama"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-open-webui.json",
        "title": "GPT4All vs Open WebUI",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-open-webui"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-screenpipe.json",
        "title": "GPT4All vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-screenpipe"
      },
      {
        "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/gpt4all-vs-underdog.json",
        "title": "GPT4All vs Underdog",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-underdog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-localghost.json",
        "title": "GPT4All vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-localghost"
      }
    ],
    "scores": [
      {
        "by": 29,
        "docker-model-runner": 85,
        "edge": "docker-model-runner",
        "gpt4all": 56,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "docker-model-runner": 49,
        "edge": "docker-model-runner",
        "gpt4all": 40,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 17,
        "docker-model-runner": 58,
        "edge": "docker-model-runner",
        "gpt4all": 41,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 12,
        "docker-model-runner": 40,
        "edge": "docker-model-runner",
        "gpt4all": 28,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "docker-model-runner": 60,
        "edge": "",
        "gpt4all": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 49,
        "docker-model-runner": 55,
        "edge": "docker-model-runner",
        "gpt4all": 6,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 17,
        "docker-model-runner": 73,
        "edge": "docker-model-runner",
        "gpt4all": 56,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Docker Model Runner scores 57.1 (C) on agent readiness against GPT4All's 36.2 (F), 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.",
      "gpt4all": "MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware. No release since 24 February 2025 and no commit to main since 27 May 2025."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all",
    "json": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.md",
    "slim": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.min.md"
  },
  "markdown": "Docker Model Runner scores 57.1 (C) on agent readiness against GPT4All's 36.2 (F), 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- GPT4All: grade F, 36.2/100, rank #706 of 722. Markdown https://www.anchorterminal.com/tools/gpt4all.md · JSON https://www.anchorterminal.com/api/v1/tools/gpt4all.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 56\n- Schema \u0026 documentation, 49 against 40\n- Agent ergonomics, 58 against 41\n- Security \u0026 auth, 40 against 28\n- Maintenance \u0026 community, 55 against 6\n- Transparency \u0026 trust, 73 against 56\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### GPT4All (F)\n\nGood for: A person who wants a simple desktop chat with local models and their own documents, with no setup beyond an installer.\n\nWatch for: No release since 24 February 2025 and no commit to main since 27 May 2025\n\n\n## Score by category\n\n| Category | Weight | Docker Model Runner | GPT4All | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 56 | Docker Model Runner +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 40 | Docker Model Runner +9 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 41 | Docker Model Runner +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 28 | Docker Model Runner +12 |\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 | 6 | Docker Model Runner +49 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 56 | Docker Model Runner +17 |\n| Negative events | ≤15 | -3 | -6 | |\n| **Total** | | **57.1 · C** | **36.2 · F** | |\n\n## Facts side by side\n\n| Fact | Docker Model Runner | GPT4All |\n| --- | --- | --- |\n| Kind | HTTP API | Model platform |\n| Vendor | Docker, Inc. | Nomic, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | None |\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 | MIT (app, backend and bindings). Models downloaded through the app carry their own licences |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-08-12 | 2025-02-24 |\n| Terms last updated | 2026-08-26 | no document linked |\n| Privacy policy last updated | 2026-08-26 | 2026-01-15 |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 656 stars | 77k stars, 11k PyPI/wk |\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**GPT4All.** MIT, with installers for Windows x64 and ARM64, macOS 12.6 or later and Linux, and published minimum and recommended hardware. No release since 24 February 2025 and no commit to main since 27 May 2025.\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### GPT4All\n\n1. Ask the owner to tick Enable Local API Server in Settings. Nothing answers on port 4891 until they do\n2. Leave out `stream`, `tools`, `tool_choice` and `response_format`. The server returns 400 for each\n3. Use the model's display name from /v1/models, such as \"Phi-3 Mini Instruct\"\n4. Read LocalDocs snippets from `choices[0].references`. Collections can only be switched on in the app\n5. Plan tool use outside GPT4All. Its API can't call tools\n\n## Questions\n\n### Which is better for AI agents, Docker Model Runner or GPT4All?\n\nDocker Model Runner scores 57.1 (C) on agent readiness against GPT4All's 36.2 (F), and leads in 6 of 7 scored categories.\n\n### Can an agent call Docker Model Runner and GPT4All without installing anything?\n\nNo hosted endpoint is listed for Docker Model Runner. No hosted endpoint is listed for GPT4All.\n\n### Are Docker Model Runner and GPT4All 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). GPT4All is open source (MIT (app, backend and bindings). Models downloaded through the app carry their own licences).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.json, and with the fewest tokens: https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"docker-model-runner\", \"b\": \"gpt4all\"}`. From a terminal: `anchor compare docker-model-runner gpt4all`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/docker-model-runner.json and https://www.anchorterminal.com/api/v1/tools/gpt4all.json\n\n## Other comparisons with Docker Model Runner or GPT4All\n\n- [AnythingLLM vs Docker Model Runner](https://www.anchorterminal.com/compare/anythingllm-vs-docker-model-runner.md)\n- [AnythingLLM vs GPT4All](https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all.md)\n- [Docker Model Runner vs Core](https://www.anchorterminal.com/compare/docker-model-runner-vs-ghost-core.md)\n- [Docker Model Runner vs Jan](https://www.anchorterminal.com/compare/docker-model-runner-vs-jan.md)\n- [Docker Model Runner vs Khoj](https://www.anchorterminal.com/compare/docker-model-runner-vs-khoj.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 GPT4All](https://www.anchorterminal.com/compare/ghost-core-vs-gpt4all.md)\n- [GPT4All vs Jan](https://www.anchorterminal.com/compare/gpt4all-vs-jan.md)\n- [GPT4All vs Khoj](https://www.anchorterminal.com/compare/gpt4all-vs-khoj.md)\n- [GPT4All vs llama.cpp](https://www.anchorterminal.com/compare/gpt4all-vs-llama-cpp.md)\n- [GPT4All vs LM Studio](https://www.anchorterminal.com/compare/gpt4all-vs-lm-studio.md)\n- [GPT4All vs LocalAI](https://www.anchorterminal.com/compare/gpt4all-vs-localai.md)\n- [GPT4All vs Ollama](https://www.anchorterminal.com/compare/gpt4all-vs-ollama.md)\n- [GPT4All vs Open WebUI](https://www.anchorterminal.com/compare/gpt4all-vs-open-webui.md)\n- [GPT4All vs screenpipe](https://www.anchorterminal.com/compare/gpt4all-vs-screenpipe.md)\n- [Docker Model Runner vs Underdog](https://www.anchorterminal.com/compare/docker-model-runner-vs-underdog.md)\n- [GPT4All vs Underdog](https://www.anchorterminal.com/compare/gpt4all-vs-underdog.md)\n- [GPT4All vs LocalGhost](https://www.anchorterminal.com/compare/gpt4all-vs-localghost.md)\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 GPT4All",
        "url": ""
      }
    ],
    "description": "Docker Model Runner scores 57.1 (C) on agent readiness against GPT4All's 36.2 (F), 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",
      "GPT4All F 36.2",
      "scores"
    ],
    "h1": "Docker Model Runner vs GPT4All",
    "image": "https://www.anchorterminal.com/assets/og/compare-docker-model-runner-vs-gpt4all.png",
    "path": "/compare/docker-model-runner-vs-gpt4all",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Docker Model Runner vs GPT4All for AI agents, C 57.1 vs F 36.2",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/docker-model-runner-vs-gpt4all"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 680
  },
  "version": 1
}
