Deploy Keepfor.me on your own
Cloudflare infrastructure
Keepfor.me is fully open-source software. Run the entire serverless Python stack on your personal Cloudflare account for total data ownership, zero recurring subscription fees, and no vendor lock-in.
Built purely on Cloudflare edge primitives
No long-running Docker containers or idle virtual machines to maintain. Keepfor.me runs on modern edge infrastructure that scales to zero and costs nothing within Cloudflare free limits.
Five steps to production
Deploy in minutes using standard CLI tools. Detailed documentation is always available in the GitHub deployment guide.
Prerequisites and tooling
You will need an active Cloudflare account (the generous Free tier works great) and a command line with Node.js 20+ and Astral uv installed:
# Verify Node.js and Astral uv are installed
node -v # v20.x or later
npm -v
uv --version # Python package and venv runner
Clone repository and sync dependencies
Clone the open-source repository from GitHub and install the Python runtime dependencies:
git clone https://github.com/melcutz/keepfor.me.git
cd keepfor.me
uv sync
Provision Cloudflare edge resources
Use Wrangler to create your D1 database, R2 storage bucket, Vectorize index (768 dimensions for BGE embeddings), and extraction queue:
# 1. Create SQLite D1 database
npx wrangler d1 create keepfor-me-db
# Note: copy database_id into wrangler.local.jsonc
# 2. Create R2 bucket for snapshots
npx wrangler r2 bucket create keepfor-me-bucket
# 3. Create Vectorize index for embeddings
npx wrangler vectorize create keepfor-me-index --dimensions=768 --metric=cosine
# 4. Create Queue for async extraction
npx wrangler queues create keepfor-me-queue
Apply database schema migrations
Run the SQL migrations to initialize user tables, full-text search virtual tables (FTS5), rate limiting counters, and composite indexes:
npx wrangler d1 migrations apply keepfor-me-db --remote
Deploy Worker and claim admin ownership
Deploy your Python FastAPI worker to Cloudflare. Once deployed, open your domain and register immediately: the first account created automatically claims instance ownership and closes public signups:
# 1. Dry run to verify bundle size is within budget
uvx --from workers-py pywrangler deploy --dry-run
# 2. Deploy live to your Cloudflare account
uvx --from workers-py pywrangler deploy
Open source licensing & commercial rights
Transparent rights, strict network copyleft, and clear commercial licensing paths.
AGPL-3.0-only License
Keepfor.me is licensed under the GNU Affero General Public License v3.0. You are completely free to inspect, audit, self-host, and modify Keepfor.me for personal or internal organizational use at zero cost.
Under network copyleft terms, if you modify Keepfor.me and offer it as a network service to external users, you must release your modified source code under the AGPL-3.0.
Commercial Licensing
Need to embed Keepfor.me inside a proprietary commercial product, ship closed-source appliances, or bypass AGPL copyleft requirements?
Commercial dual-licensing agreements with dedicated support and indemnification are available upon request.