Conjure.Backend.Docker (Conjure v0.1.1-alpha)
View SourceBackend for Docker-based execution of skills.
Executes skill tool calls inside Docker containers for isolation and security.
Uses Conjure.Executor.Docker for command execution and Conjure.Conversation
for the tool-use loop.
Recommended Usage
For new code, use Conjure.Session.new_docker/2 which provides proper storage
integration and working directory management:
{:ok, skills} = Conjure.load("priv/skills")
{:ok, session} = Conjure.Session.new_docker(skills)
{:ok, response, session} = Conjure.Session.chat(
session,
"Run the analysis",
&api_callback/1
)
# Cleanup when done
{:ok, _} = Conjure.Session.cleanup(session)Direct Backend Usage
For lower-level control, you can use this backend directly:
{:ok, skills} = Conjure.load("priv/skills")
session = Conjure.Backend.Docker.new_session(skills, [])
{:ok, response, session} = Conjure.Backend.Docker.chat(
session,
"Run the analysis",
&api_callback/1,
[]
)Options
:working_directory- Working directory on host (mounted to/workspacein container):timeout- Execution timeout in milliseconds (default: 30_000):max_iterations- Maximum tool-use iterations (default: 25):executor_config- Docker-specific configuration::image- Docker image to use:volumes- Volume mounts:network- Network mode
See Also
Conjure.Session- Recommended high-level API with storage supportConjure.Backend.Local- Local executionConjure.Executor.Docker- Low-level Docker executor