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 install
2. Authentication
npx wrangler login
3. 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-key
Command 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-all
This 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