← back to Wallpaperestimator
Add deploy runbook (take-off-Afternic steps + Kamatera deploy)
c97555882b0c2b4a47f72cffa92ac5c8c19362f7 · 2026-05-31 16:32:33 -0700 · steve
Files touched
Diff
commit c97555882b0c2b4a47f72cffa92ac5c8c19362f7
Author: steve <steve@designerwallcoverings.com>
Date: Sun May 31 16:32:33 2026 -0700
Add deploy runbook (take-off-Afternic steps + Kamatera deploy)
---
DEPLOY.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/DEPLOY.md b/DEPLOY.md
new file mode 100644
index 0000000..0ef601a
--- /dev/null
+++ b/DEPLOY.md
@@ -0,0 +1,52 @@
+# wallpaperestimator.com — deploy runbook
+
+**Status (2026-05-31):** Build is **complete + verified locally** (Express static host
+on `:9933`, full yardage calculator, FAQ, sort+density picks grid, DW hamburger nav,
+Big Red chat, GA4). Domain is **parked on Afternic** and must be taken off Afternic
+before it can go live. DTD verdict: **build the full standalone tool** (it's a genuine
+high-intent utility with no equivalent in the ecosystem).
+
+## Registrar / DNS facts
+- Registrar: **GoDaddy** · expires 2027-11-07 · auto-renew ON · **locked + privacy ON**
+- Current nameservers: `ns5.afternic.com` / `ns6.afternic.com` (Afternic parking)
+- Current A: `13.248.169.48`, `76.223.54.146` (Afternic for-sale lander)
+- Target host: Kamatera `45.61.58.125`, app port `9933`
+
+## STEP 1 — Take it off Afternic *(Steve — account action, cannot be automated)*
+1. **Remove the for-sale listing.** GoDaddy → the domain → *List for Sale / Afternic* →
+ remove listing. (Or Afternic dashboard → My Domains → wallpaperestimator.com → delist.)
+2. This stops the for-sale lander and frees the nameservers.
+
+## STEP 2 — Repoint DNS *(Steve — registrar action / DNS is classifier-gated)*
+Pick one (matches the grant.agentabrams.com precedent — zone stays on GoDaddy):
+- **Simplest:** GoDaddy → unlock domain → set nameservers back to **GoDaddy default** →
+ add an **A record `@` → 45.61.58.125** (+ `www` CNAME → `@`). Re-lock after.
+- **Or Cloudflare:** create CF zone, set CF nameservers at GoDaddy, add **proxied A
+ `@` → 45.61.58.125**.
+
+Verify: `dig +short wallpaperestimator.com` returns `45.61.58.125`.
+
+## STEP 3 — Deploy to Kamatera *(Claude can run this once DNS resolves to 45.61.58.125)*
+```sh
+# 1. ship code (node_modules rebuilt on server; data/ stays)
+rsync -az --exclude node_modules --exclude .git \
+ ~/Projects/wallpaperestimator/ my-server:/root/Projects/wallpaperestimator/
+ssh my-server 'cd /root/Projects/wallpaperestimator && npm install --omit=dev'
+
+# 2. pm2 (port 9933) — use a dedicated app, NOT pm2 restart all
+ssh my-server 'cd /root/Projects/wallpaperestimator && pm2 start server.js --name wallpaperestimator && pm2 save'
+
+# 3. nginx vhost → 127.0.0.1:9933 (server_name wallpaperestimator.com www.…)
+# then certbot --nginx -d wallpaperestimator.com -d www.wallpaperestimator.com
+# (http→https 301, HSTS). Reuse the onboard-domain playbook.
+```
+
+## STEP 4 — Polish (post-launch)
+- `public/picks.json` currently has **6 placeholder picks** — repopulate with real DW
+ products (handle/title/vendor/category/image_url) for the closing grid.
+- Confirm GA4 `G-T3TWEXYWQX` is the intended property; flip Meta Pixel only via
+ `set-fb-pixel.sh` if/when wanted (it's inert now).
+
+> Standing-rule note: the calculator is a **tool**, not a product catalog — but the
+> closing "wallpapers we'd suggest" grid DOES carry the required sort `<select>` +
+> density slider (localStorage `wpe_sort` / `wpe_cols`), so it's compliant.
← b866e4c feat(fleet): theme1/theme2 query-param-gated toggle on catal
·
back to Wallpaperestimator
·
Add per-site favicon (kills /favicon.ico 404) 07aeef4 →