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
- Export DynamoDB to JSON:
aws dynamodb scan --table-name docket > dynamodb-export.json
- Convert to SQLite insert statements (script needed)
- 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.