Deploy Your Own
Run recall cloud under your own brand. Eight steps, all on Cloudflare's free tier. Your data, your domain, your secrets.
What you'll need
- Cloudflare account (free)
- Stripe account (free)
- wrangler CLI installed
- Node 18+ for wrangler
Eight steps to your own cloud
Follow in order. Each step builds on the last.
Fork the repo
Clone the recall repo and move into the worker directory where the Cloudflare Worker source lives.
git clone https://github.com/ashrocket/recall cd recall/worker
Create Cloudflare account
Sign up at cloudflare.com if you haven't already — the free tier covers Workers, R2, and KV with comfortable limits for this use case.
npm install -g wrangler wrangler login
Create R2 bucket
R2 stores the actual memory blobs. Create the bucket with wrangler, then enable versioning in the Cloudflare dashboard under R2 → your bucket → Settings.
wrangler r2 bucket create recall-store # then: dashboard → R2 → recall-store → Settings # → enable versioning
Create KV namespace
KV stores lightweight metadata — session indexes, user records, API keys. Copy the namespace ID from the output and paste it into wrangler.toml.
wrangler kv namespace create RECALL_KV # copy the id from output, then in wrangler.toml: [[kv_namespaces]] binding = "RECALL_KV" id = "<paste-id-here>"
Create Stripe account + product
Create a recurring product at $1.50/quarter in the Stripe dashboard. Grab the webhook signing secret from Developers → Webhooks after you configure it in step 8.
# Product catalog → Add product Name: recall cloud Price: $1.50 / quarter (recurring) # Save price ID — you'll reference it in code # Developers → Webhooks → signing secret → copy
Set secrets
All credentials go in via wrangler secret put — never in source code or wrangler.toml. Each command will prompt for the value.
wrangler secret put STRIPE_SECRET_KEY wrangler secret put STRIPE_WEBHOOK_SECRET wrangler secret put API_KEY_SALT # each prompts for value — paste, enter, done
Deploy
Run wrangler deploy from the worker directory. Wrangler will print your worker URL — copy it for the next step.
wrangler deploy # output includes your worker URL: https://<name>.<account>.workers.dev
Configure Stripe webhook
Point Stripe's webhook to your worker's billing endpoint so subscription events flow through correctly. Use the worker URL from step 7.
# Add endpoint: https://your-worker.workers.dev/v1/webhook/stripe # Events to listen for: customer.subscription.created customer.subscription.deleted invoice.payment_succeeded
The agent-* toolkit
Three small tools, same visual language, same bias: stop dragging context around by hand.