Docket Docs

Onboarding

Deploy Docket on AWS from scratch.

AWS Onboarding

Prerequisites

  • AWS account
  • AWS CLI installed and configured (aws configure)
  • IAM user or role with permissions for Bedrock, DynamoDB, S3, and SQS
  • Node.js 20+ and npm

Step 1: Create AWS Resources

DynamoDB Table

aws dynamodb create-table \
  --table-name docket \
  --attribute-definitions AttributeName=pk,AttributeType=S AttributeName=sk,AttributeType=S \
  --key-schema AttributeName=pk,KeyType=HASH AttributeName=sk,KeyType=RANGE \
  --billing-mode PAY_PER_REQUEST

S3 Bucket

aws s3 mb s3://docket-blobs-$(aws sts get-caller-identity --query Account --output text)

SQS Queue

aws sqs create-queue --queue-name docket-jobs
# Note the QueueUrl from the output

Bedrock Model Access

  1. Go to Bedrock Console
  2. Click "Model access"
  3. Request access to:
    • Anthropic Claude 3.5 Sonnet
    • Amazon Titan Embed Text v2

Step 2: Get IAM Credentials

If using IAM user:

aws iam create-access-key --user-name your-user-name
# Note AccessKeyId and SecretAccessKey

If using IAM role (EC2/ECS/Lambda), no manual credential setup needed.

Step 3: Configure Docket

Create config/config.yaml:

docket:
  adapters:
    llm:
      default: "aws-bedrock"
      providers:
        aws-bedrock:
          adapter: "@docket/llm-aws-bedrock"
          config:
            region: "us-east-1"
            model: "anthropic.claude-3-5-sonnet-20241022-v2:0"
            timeout: 60000
 
    embedder:
      default: "aws-bedrock"
      providers:
        aws-bedrock:
          adapter: "@docket/embedder-aws-bedrock"
          config:
            region: "us-east-1"
            model: "amazon.titan-embed-text-v2:0"
            dimensions: 1024
            timeout: 30000
 
    store:
      default: "aws-dynamodb"
      providers:
        aws-dynamodb:
          adapter: "@docket/store-dynamodb"
          config:
            region: "us-east-1"
            tableName: "docket"
 
    blob:
      default: "aws-s3"
      providers:
        aws-s3:
          adapter: "@docket/blob-s3"
          config:
            bucket: "docket-blobs-your-account-id"
            region: "us-east-1"
 
    queue:
      default: "aws-sqs"
      providers:
        aws-sqs:
          adapter: "@docket/queue-sqs"
          config:
            region: "us-east-1"
            queueUrl: "https://sqs.us-east-1.amazonaws.com/your-account-id/docket-jobs"
            maxConcurrent: 5

Step 4: Set Environment Variables

Using AWS CLI profiles (recommended):

aws configure --profile docket
# Enter your Access Key ID, Secret Access Key, and default region
export AWS_PROFILE=docket

Or set directly:

export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_REGION=us-east-1

Step 5: Run Docket

npm install
npm start

The server will initialize all AWS adapters and verify connectivity.

On this page