← back to Interiordesignershowroom
Update GOLIVE.md: Kamatera deploy complete; only NS swap + optional CF Full remain
4dad839c09038c3b0cf699e62e2ad099c66a5f55 · 2026-08-01 11:43:17 -0700 · Steve Abrams
Files touched
Diff
commit 4dad839c09038c3b0cf699e62e2ad099c66a5f55
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sat Aug 1 11:43:17 2026 -0700
Update GOLIVE.md: Kamatera deploy complete; only NS swap + optional CF Full remain
---
GOLIVE.md | 48 +++++++++++++++++++++++-------------------------
1 file changed, 23 insertions(+), 25 deletions(-)
diff --git a/GOLIVE.md b/GOLIVE.md
index eed6b5e..611deeb 100644
--- a/GOLIVE.md
+++ b/GOLIVE.md
@@ -1,30 +1,28 @@
-# Go-Live Checklist — interiordesignershowroom.com
+# Go-Live — interiordesignershowroom.com
-Status: **STAGED — awaiting Steve's approval.** Nothing below has been executed.
-The site runs locally under pm2 `interiordesignershowroom` on `:9861`.
+Status: **DEPLOYED to Kamatera. Waiting on ONE manual step (nameserver swap at Namecheap).**
+Local dev: pm2 `interiordesignershowroom` on Mac2 `:9861`.
+Production: pm2 `interiordesignershowroom` on Kamatera (45.61.58.125) `:9876`, DB `idshowroom`.
-## Prereqs (Steve's, gated)
-- [ ] Decide to commit the premium `.com` to this build (overrides the "premium .coms are assets to sell" rule — you chose *Go live on the .com*).
-- [ ] Affiliate accounts + creds (feeds stay empty until these land):
- - [x] CJ company id `7896980` (recorded in `.env`)
- - [ ] `CJ_TOKEN` (Developer PAT, developers.cj.com) + `CJ_WEBSITE_ID` (PID)
- - [ ] Amazon Associates: `AMAZON_ACCESS_KEY` / `AMAZON_SECRET_KEY` / `AMAZON_PARTNER_TAG` (needs live site first)
- - [ ] Rakuten: `RAKUTEN_CLIENT_ID` / `RAKUTEN_CLIENT_SECRET` / `RAKUTEN_SCOPE`
- - [ ] ShareASale: `SHAREASALE_AFFILIATE_ID` / `SHAREASALE_API_TOKEN` / `SHAREASALE_API_SECRET`
+## ✅ Done (server-side, by Claude)
+- [x] Cloudflare zone created (`interiordesignershowroom.com`, id `6d94445c…`)
+- [x] CF DNS: apex `A` + `www` CNAME → 45.61.58.125, **proxied**
+- [x] Kamatera: code rsync'd, dedicated PG DB+role `idshowroom`, schema loaded, seeded, `npm install`, pm2 started + saved
+- [x] nginx vhost (`:80` + `:443`, dual-serve, **loop-proof under any CF SSL mode**)
+- [x] self-signed origin cert (`/etc/nginx/origin-certs/`) for encrypted CF↔origin under Full mode
+- [x] Origin verified: `/` `/shop` `/guides` `/robots.txt` `/sitemap.xml` all 200 via Host header on both :80 and :443
-## Deploy steps (I run on your go)
-1. **Cloudflare zone** for interiordesignershowroom.com (via cloudflare-dns MCP / domain-setup skill).
-2. **NS swap** at the registrar → Cloudflare nameservers; clean stale/parking records.
-3. **Kamatera**: rsync repo to `/root/Projects/interiordesignershowroom`, `npm ci`, create the `idshowroom` PG DB + load `db/schema.sql`, `node scripts/seed.js` (or first real `ingest` once creds exist), `pm2 start` on `PORT=9861`, `pm2 save`.
-4. **Let's Encrypt SSL** (certbot) on the origin; CF proxy (orange cloud) on.
-5. **DNS**: `A`/`CNAME` root + `www` → Kamatera origin, proxied.
-6. **Smoke test**: `/healthz` 200, `/` renders, `/sitemap.xml`, `/robots.txt`, a `/go/:id` 302.
-7. **Post-live**: submit sitemap to Google Search Console; then apply to CJ/Rakuten/ShareASale/Amazon with the live URL.
+## ⏳ Remaining — YOUR steps
+1. **REQUIRED — swap nameservers at Namecheap** (Domain List → Manage → Nameservers → Custom DNS):
+ - `ezra.ns.cloudflare.com`
+ - `kimora.ns.cloudflare.com`
+ Propagation ~5–60 min; the CF zone flips `pending → active`, and the site goes live at https://interiordesignershowroom.com.
+2. **OPTIONAL hardening — set CF SSL mode to Full** (dash → SSL/TLS → Overview → *Full*), and toggle *Always Use HTTPS*. (My API token can't change zone settings, only DNS.) Site works without this; Full just encrypts the CF→origin hop end-to-end.
-## Rollback
-- pm2 process stop + CF DNS record removal. No destructive data ops (fresh DB).
+## After it's live
+- Submit `https://interiordesignershowroom.com/sitemap.xml` to Google Search Console.
+- Register the live URL as a CJ **promotional property** (→ yields `CJ_WEBSITE_ID`); apply to Amazon/Rakuten/ShareASale.
+- Paste each network's creds → I route via the `secrets` skill → feed turns on (no redeploy).
-## Guardrails honored
-- FTC disclosure on every page; `/admin` + `/go/` disallowed in robots.txt.
-- `.env` gitignored; no secrets in the repo.
-- Deploy runs through `.deploy.conf` (PROJECT_NAME/DEPLOY_PATH/HEALTH_URL/PORT set).
+## Rollback
+- CF: delete the apex/www DNS records (or pause the zone). Kamatera: `pm2 stop interiordesignershowroom`. Fresh DB, no destructive data ops.
← d55b94c Add faceted filtering (room/style/color/price) to /shop + /r
·
back to Interiordesignershowroom
·
Cycle 1 hardening: favicon (IDS monogram), OG social image + 67a527f →