Is everything wired up?
This page tests your live deployment piece by piece and tells you exactly how to fix anything that's red. Safe to run anytime β it changes nothing.
You're viewing this in the design preview, so everything below will show red β that's expected here. Open this page on your real website (yourdomain.com/status.html) for true results.
β¦
1 Β· The brain is running
Is _worker.js deployed and answering?
Running β
Not responding. The worker file never made it into your deployment.
- Open your Pages project β Deployments β Create deployment.
- Drag the site folder itself (the folder that directly contains index.html AND _worker.js) β never individual files.
- Before clicking Deploy, check the file list shows _worker.js.
- Deploy, wait ~30 seconds, then re-run this checkup.
β¦
2 Β· Database connected
Does the brain have the keys to your D1 database?
Connected β
No database binding.
- Pages project β Settings β Bindings (sometimes under Functions) β Add β D1 database.
- Variable name must be exactly DB β capital letters. Select database cnc-db. Save.
- Then re-deploy (Deployments β Create deployment β drag the site folder β Deploy). Settings only apply to new deployments.
β¦
3 Β· Database tables exist
Was the one-time setup script run?
Tables found β
Tables missing. Run the setup script:
- Dashboard sidebar β Storage & Databases β D1 β open cnc-db β Console tab.
- Paste the script below, execute it, then re-run this checkup.
CREATE TABLE IF NOT EXISTS requests (
id INTEGER PRIMARY KEY AUTOINCREMENT,
type TEXT NOT NULL, service TEXT, name TEXT, phone TEXT,
address TEXT, notes TEXT, date TEXT, slot TEXT,
status TEXT DEFAULT 'new',
created_at TEXT DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS hours (
dow INTEGER PRIMARY KEY, enabled INTEGER DEFAULT 1,
open TEXT DEFAULT '08:00', close TEXT DEFAULT '18:00'
);
INSERT OR IGNORE INTO hours (dow, enabled, open, close) VALUES
(0,0,'08:00','18:00'),(1,1,'08:00','18:00'),(2,1,'08:00','18:00'),
(3,1,'08:00','18:00'),(4,1,'08:00','18:00'),(5,1,'08:00','18:00'),
(6,1,'08:00','16:00');
CREATE TABLE IF NOT EXISTS blocked (date TEXT PRIMARY KEY, reason TEXT);
β¦
4 Β· Admin password set
Is the ADMIN_PASSWORD secret configured? (This page never sees the password itself β only whether one exists.)
Set β β log in at admin.html with that exact value
Not set.
- Pages project β Settings β Environment variables β Add.
- Name: ADMIN_PASSWORD Β· Value: a long password you invent. Save (choose Encrypt if offered).
- Re-deploy, then re-run this checkup.
β¦
5 Β· Phone alerts configured
Is the NTFY_TOPIC secret configured?
Set β β try the test button below
Not set.
- Pages project β Settings β Environment variables β Add.
- Name: NTFY_TOPIC Β· Value: your secret alert channel (something unguessable, e.g. cnc-alerts-7k2m9x).
- Re-deploy. Then in the ntfy app on your phone, subscribe to that exact topic.
β The golden rule: every settings change (bindings, variables) only takes effect on the next deployment. Changed something? Deployments β Create deployment β drag the site folder β Deploy.