# Docker Model

> >

- **Type:** Skill
- **Install:** `agentstack add skill-siva01c-claude-plugins-docker-model`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [siva01c](https://agentstack.voostack.com/s/siva01c)
- **Installs:** 0
- **Category:** [Cloud & Infrastructure](https://agentstack.voostack.com/c/cloud-infrastructure)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [siva01c](https://github.com/siva01c)
- **Source:** https://github.com/siva01c/claude-plugins/tree/main/docker-tools/skills/docker-model

## Install

```sh
agentstack add skill-siva01c-claude-plugins-docker-model
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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

```bash
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

| Endpoint | Method |
|---|---|
| `/engines/v1/models` | GET |
| `/engines/v1/chat/completions` | POST |
| `/engines/v1/completions` | POST |
| `/engines/v1/embeddings` | POST |

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`

```bash
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:

```yaml
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:

```yaml
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

| Symptom | Fix |
|---|---|
| `docker model: command not found` | Enable Model Runner in Docker Desktop settings, or install the plugin on Docker Engine |
| Connection refused on 12434 | Enable *host-side TCP support* in the Model Runner settings; check `docker model status` |
| Container cannot reach `model-runner.docker.internal` | On Docker Engine use `http://172.17.0.1:12434` instead |
| Responses truncated | Raise the context window: `docker model configure --context-size  ` |
| Model too slow / out of memory | Pull a smaller quantized variant from the `ai/` namespace; check GPU is actually used (`docker model logs`) |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [siva01c](https://github.com/siva01c)
- **Source:** [siva01c/claude-plugins](https://github.com/siva01c/claude-plugins)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-siva01c-claude-plugins-docker-model
- Seller: https://agentstack.voostack.com/s/siva01c
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
