@north-light/crouter-env-docker
v0.3.334
Published
Docker connection manager for the crouter SDK — start, attach to, and stop a crtrd container over the docker CLI. Zero crouter imports.
Keywords
Readme
@north-light/crouter-env-docker
Start or attach to a crtrd Docker container, then pass its connection to @north-light/crouter-sdk. This package has no dependencies, including on the SDK.
Install
npm install @north-light/crouter-env-docker @north-light/crouter-sdkStart a container
import { start } from '@north-light/crouter-env-docker';
import Crouter from '@north-light/crouter-sdk';
const env = await start({
name: 'my-crouter',
volume: 'my-agent-home',
});
const client = new Crouter(env.connection());
const health = await client.system.health();
console.log(health);
await env.stop();start() creates a container from ghcr.io/vallum-security/crtrd:latest unless you pass image, generates a bearer token, binds the mapped port to 127.0.0.1, and waits for /healthz. Its connection() result is { baseURL, headers }, ready for new Crouter(...). Its stop() removes the container.
Pass env for container environment variables, port to select a host port, and volume to mount a named Docker volume at the crouter home. A named volume keeps canvas state and memory when a container is recreated.
The image has no model credential. Configure a provider credential in the container before creating an agent run.
Attach to an existing container
import { attach } from '@north-light/crouter-env-docker';
const env = await attach('my-crouter');
const connection = env.connection();
await env.stop(); // stops the container but does not remove itattach(name) reads the existing container's mapped port and CRTRD_TOKEN. The Docker CLI must be on PATH and authenticated for the image registry. See the Docker SDK guide for the full connection and persistence reference.
