Self-Host Domain Bobber
Deploy and manage your own instance of Domain Bobber on Cloudflare Workers.
System Requirements
Required Tools
- • Node.js 18 or higher
- • npm or yarn package manager
- • Git for version control
- • Wrangler CLI (latest version)
Quick Start
1. Get Access
Instant Download
Get the complete source code as a ZIP file
GitHub Access
Get invited to the private repository
Lifetime Updates
Free access to all future updates
1. Installation
git clone https://github.com/yourusername/domain-dash-pro
cd domain-dash-pro
npm install2. Authentication
npx wrangler login3. KV Storage Setup
# Create KV namespace
npx wrangler kv:namespace create kvcache
# Note the ID from the output:
# kvcache_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"4. Turnstile Setup
- Visit Cloudflare Turnstile Dashboard
- Create a new site widget
- Note both the Site Key and Secret Key
5. Deploy Your First Domain
npm run create-domain# Or with all options specified:
npm run create-domain \
--kv-id your-kv-id \
--admin-password your-password \
--turnstile-site-key your-site-key \
--turnstile-secret-key your-secret-keyCommand Line Options
| Option | Description | Required | Example |
|---|---|---|---|
| --kv-id | Your Cloudflare KV namespace ID | Yes | --kv-id abc123... |
| --admin-password | Password for accessing admin dashboards | Yes | --admin-password mySecurePass123! |
| --turnstile-site-key | Cloudflare Turnstile Site Key | Yes | --turnstile-site-key 0x4AAAAAAACt... |
| --turnstile-secret-key | Cloudflare Turnstile Secret Key | Yes | --turnstile-secret-key 0x4AAAAAAACt... |
Configuration Guide
Environment Variables
| Variable | Description | Required |
|---|---|---|
| ADMIN_PASSWORD | Dashboard access password | Yes |
| TURNSTILE_SITE_KEY | Cloudflare Turnstile site key | Yes |
| TURNSTILE_SECRET_KEY | Cloudflare Turnstile secret key | Yes |
| KV_NAMESPACE_ID | Cloudflare KV namespace ID | Yes |
Domain Configuration
Each domain's configuration is stored in domains/<domain>/wrangler.toml:
name = "example-com"
main = "../../.worker-next/index.mjs"
compatibility_date = "2024-09-26"
[vars]
BASE_URL = "example.com"
TURNSTILE_SITE_KEY = "your-site-key"
[[kv_namespaces]]
binding = "kvcache"
id = "your-kv-id"Deployment Options
Deploy All Domains
Use the deploy-all script to deploy all domains in your domains/ directory:
npm run deploy-allThis script will:
- Verify Wrangler authentication
- Build the worker if needed
- Deploy each domain sequentially
- Set required secrets
- Provide detailed deployment status
Secret Management
Update secrets using the update-secrets command:
npm run update-secrets \
--key ADMIN_PASSWORD \
--value your-new-password