// Cloudflare Worker deployment, bindings, and scheduled cleanup configuration. { "$schema": "node_modules/wrangler/config-schema.json", "name": "xbin", "workers_dev": false, "main": "src/index.ts", "compatibility_date": "2026-03-19", "compatibility_flags": ["nodejs_compat"], "observability": { "enabled": true, "logs": { "enabled": true, "invocation_logs": true, }, "traces": { "enabled": true, }, }, "assets": { "directory": "./assets", "binding": "ASSETS", "not_found_handling": "single-page-application", "run_worker_first": true, }, "vars": { "XBIN_APP_NAME": "Xbin", "XBIN_APP_VERSION": "1.0.0", "XBIN_PROJECT_PAGE_URL": "https://github.com/xixu-me/xbin", "XBIN_BASE_PATH": "/", "XBIN_MAX_PASTE_BYTES": "10000000", "XBIN_DEFAULT_EXPIRATION": "1hour", "XBIN_SUPPORTED_EXPIRATIONS": "5min,10min,30min,1hour,3hour,6hour,12hour,1day,3day,1week", "XBIN_ENABLE_LEGACY_API": "true", "XBIN_REQUIRE_TURNSTILE": "false", "XBIN_BURN_CLAIM_TTL_SECONDS": "120", }, "durable_objects": { "bindings": [ { "name": "PASTE_COORDINATOR", "class_name": "PasteCoordinator", }, ], }, "migrations": [ { "tag": "v1", "new_sqlite_classes": ["PasteCoordinator"], }, ], "d1_databases": [ { "binding": "DB", "database_name": "xbin", "database_id": "e93b1cc0-7e06-4685-ad3a-1754fb44d0c9", "preview_database_id": "e93b1cc0-7e06-4685-ad3a-1754fb44d0c9", "migrations_dir": "./migrations", }, ], "r2_buckets": [ { "binding": "PASTES_BUCKET", "bucket_name": "xbin-pastes", "preview_bucket_name": "xbin-pastes", }, ], "queues": { "producers": [ { "binding": "GC_QUEUE", "queue": "xbin-gc", }, ], "consumers": [ { "queue": "xbin-gc", "max_batch_size": 25, "max_batch_timeout": 2, "max_retries": 3, }, ], }, "triggers": { "crons": ["* * * * *"], }, }