Docket Docs

Migration

Migrate to or from Cloudflare.

Cloudflare Migration

Migrating from Local to Cloudflare

1. Export Local Data

# Export SQLite to SQL
sqlite3 data/docket.db ".dump" > local-export.sql
 
# Export blobs
cp -r data/blobs ./blob-export

2. Import to D1

# D1 supports standard SQLite SQL
wrangler d1 execute docket-db --file=local-export.sql

3. Import to R2

aws s3 sync ./blob-export s3://docket-blobs \
  --endpoint-url=https://$CF_ACCOUNT_ID.r2.cloudflarestorage.com

4. Switch Config

docket:
  adapters:
    llm:
      default: "cloudflare-workers-ai"
    embedder:
      default: "cloudflare-workers-ai"
    store:
      default: "cloudflare-d1"
    blob:
      default: "cloudflare-r2"
    queue:
      default: "cloudflare-queues"

5. Verify

npm run doctor

Migrating from AWS to Cloudflare

Store: DynamoDB → D1

  1. Export DynamoDB to JSON:
aws dynamodb scan --table-name docket > dynamodb-export.json
  1. Convert to SQLite insert statements (script needed)
  2. Import to D1 via wrangler d1 execute

Blob: S3 → R2

aws s3 sync s3://aws-bucket s3://r2-bucket \
  --endpoint-url=https://$CF_ACCOUNT_ID.r2.cloudflarestorage.com

Queue: SQS → Cloudflare Queues

Drain SQS first, then switch config. There's no direct migration path — process remaining SQS messages before cutover.

Rollback

Keep your old config as a profile:

export DOCKET_PROFILE=local
# or
export DOCKET_PROFILE=aws

Switch back instantly if Cloudflare doesn't meet your needs.

On this page