agentsclimarketplace

Docker model

Skill siva01c/claude-plugins/docker-tools/skills/docker-model

Claude Code plugin marketplace: Drupal development, DDEV, Docker, CI/CD, git workflows, and OWASP ASVS security

Install
npx -y skills add siva01c/claude-plugins --skill docker-model

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use this skill when running local AI models with Docker Model Runner — the `docker model` CLI — e.g. "run an LLM locally with Docker", "pull a model from the ai/ namespace", "connect my app to a local model", "use a local model as backend for the Drupal AI module", or when wiring the `models:` top-level element into a compose.yaml. Covers pulling/running models, OpenAI-compatible endpoints, and Compose integration.

SKILL.md

4.6 KB, as published. Nobody here has run it

Docker Model Runner Skill

Docker Model Runner (DMR) manages and serves AI models through Docker Desktop or Docker Engine, exposing OpenAI-compatible APIs. Models are pulled as OCI artifacts from Docker Hub (ai/ namespace), any OCI registry, or Hugging Face, and stored locally. For Drupal work it provides a free, local, keyless backend for the AI module ecosystem during development.


Enabling

  • Docker Desktop: Settings → enable Docker Model Runner (Beta features).
  • Docker Engine (Linux): supported without Desktop; models are served on the host. GPU support: NVIDIA (CUDA), AMD (ROCm), Vulkan; Apple Silicon on macOS; CPU everywhere.

Core CLI

docker model status                      # is the runner active?
docker model pull ai/smollm2             # fetch a model (Docker Hub ai/ namespace)
docker model pull hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF  # from Hugging Face
docker model list                        # local models
docker model run ai/smollm2 "Hello"      # one-shot prompt
docker model run ai/smollm2              # interactive chat (exit with /bye)
docker model configure --context-size 8192 ai/smollm2   # adjust context window
docker model inspect ai/smollm2          # model metadata
docker model logs                        # runner logs
docker model rm ai/smollm2               # delete local model

Run docker model --help for the full, current command list — the CLI is still evolving.


OpenAI-compatible API

EndpointMethod
/engines/v1/modelsGET
/engines/v1/chat/completionsPOST
/engines/v1/completionsPOST
/engines/v1/embeddingsPOST

Base URLs:

  • From the host: http://localhost:12434 (default TCP port)
  • From containers (Docker Desktop): http://model-runner.docker.internal
  • From containers (Docker Engine): http://172.17.0.1:12434
curl http://localhost:12434/engines/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "ai/smollm2", "messages": [{"role": "user", "content": "Hi"}]}'

Any OpenAI SDK works by pointing base_url at http://localhost:12434/engines/v1 — no API key required.


Compose integration — models: top-level element

Declare models next to services; Compose pulls and provisions them:

services:
  app:
    image: my-app
    models:
      - llm                      # short syntax

models:
  llm:
    model: ai/smollm2
    context_size: 4096
    runtime_flags:
      - "--no-prefill-assistant"

Short syntax injects environment variables into the service container, named after the model key: LLM_URL and LLM_MODEL. Long syntax picks your own variable names:

services:
  app:
    image: my-app
    models:
      llm:
        endpoint_var: AI_MODEL_URL
        model_var: AI_MODEL_NAME

Using DMR as a Drupal AI backend

The Drupal AI module (drupal/ai) talks to providers over the OpenAI API. Point an OpenAI-compatible provider (e.g. drupal/ai_provider_openai) at the Model Runner endpoint to develop AI features without cloud keys:

  • Base URL (Drupal in a container, Docker Desktop): http://model-runner.docker.internal/engines/v1
  • Base URL (Drupal on the host): http://localhost:12434/engines/v1
  • API key: any non-empty placeholder — DMR does not check it.
  • Model name: exactly as listed by docker model list (e.g. ai/smollm2).

This gives local, reproducible AI development for content generation, embeddings/search experiments, and automated tests without external costs.


Troubleshooting

SymptomFix
docker model: command not foundEnable Model Runner in Docker Desktop settings, or install the plugin on Docker Engine
Connection refused on 12434Enable host-side TCP support in the Model Runner settings; check docker model status
Container cannot reach model-runner.docker.internalOn Docker Engine use http://172.17.0.1:12434 instead
Responses truncatedRaise the context window: docker model configure --context-size <n> <model>
Model too slow / out of memoryPull a smaller quantized variant from the ai/ namespace; check GPU is actually used (docker model logs)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.