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
- Go to Bedrock Console
- Click "Model access"
- 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.