Docket Docs

Hosting

Run Docket standalone, in Docker, or on serverless platforms.

Hosting

Docket can run as a standalone Node.js process, in Docker, or on serverless platforms.

Standalone

Run directly on any machine with Node.js 20+:

npm install
npm start

This uses the unified platform (data + control planes in one process).

For production, use the standalone bin directly:

node src/platform/standalone/bin.js

PORT and HOST environment variables are honored:

PORT=8080 HOST=0.0.0.0 node src/platform/standalone/bin.js

Use pm2 or systemd for production:

pm2 start src/platform/standalone/bin.js --name docket

Docker

Build and run Docket + Ollama together:

docker-compose -f docker/docker-compose.yml up -d

This starts:

  • docket on port 3000
  • ollama on port 11434

The compose file overrides the Ollama URL so Docket talks to the Docker service instead of localhost.

For a custom image:

docker build -f docker/Dockerfile.standalone -t docket .
docker run -p 3000:3000 -v ./config:/app/config:ro docket

AWS Lambda

Use the handler at src/platform/serverless/aws-lambda/handler.js. It supports API Gateway v2 (HTTP API) events.

Example index.js for Lambda:

const { handler } = require('./src/platform/serverless/aws-lambda/handler');
exports.handler = handler;

Package and deploy:

zip -r docket-lambda.zip src config package*.json index.js
aws lambda update-function-code --function-name docket --zip-file fileb://docket-lambda.zip

Set environment variables for adapter configs:

DOCKET_ADAPTERS_LLM_DEFAULT=openai
DOCKET_ADAPTERS_LLM_PROVIDERS_OPENAI_CONFIG_APIKEY=...
DOCKET_ADAPTERS_STORE_DEFAULT=dynamodb

The handler bootstraps adapters once per Lambda execution context and reuses the Fastify instance across invocations for low cold-start latency.

Cloudflare Workers

Use the handler at src/platform/serverless/cloudflare-workers/handler.js.

Example worker.js:

import { handleFetch } from './src/platform/serverless/cloudflare-workers/handler';
export default { fetch: handleFetch };

Deploy with Wrangler:

npx wrangler deploy

Cloudflare Workers require Cloudflare-native adapters (D1, R2, Workers AI, Queues). Configure them in wrangler.toml or via DOCKET_* secrets.

Environment-specific config

Use DOCKET_* environment variables to adapt to each platform without changing YAML files:

DOCKET_ADAPTERS_STORE_DEFAULT=postgres
DOCKET_ADAPTERS_STORE_PROVIDERS_POSTGRES_CONFIG_CONNECTIONSTRING="postgres://..."
DOCKET_MEMORY_MODE=rich
DOCKET_MEMORY_RBAC_ENABLED=true

On this page