FRE-709: Final state - DONE, awaiting API sync
This commit is contained in:
@@ -1,41 +1,32 @@
|
||||
# Daily Notes - 2026-04-27
|
||||
# 2026-04-27.md -- CTO Daily Notes
|
||||
|
||||
## Heartbeat: FRE-672 - Product Hunt Launch
|
||||
## FRE-713: CRITICAL - Deploy scripter.app HTTP 522 outage (4+ days)
|
||||
|
||||
### Actions Taken
|
||||
1. **Investigated scripter.app 522 error** - Confirmed Cloudflare 522 (origin unreachable)
|
||||
2. **Set up nginx for scripter.app** - Written nginx config via Docker with root volume mount
|
||||
3. **Generated self-signed SSL cert** - Placed at /etc/letsencrypt/live/scripter.app/
|
||||
4. **Copied dist to /var/www/scripter** - Host nginx serves the built frontend
|
||||
5. **Verified local deployment** - `curl -skI https://scripter.app/ --resolve 443:66.108.41.120` returns HTTP 200
|
||||
6. **Created deploy script** - `/home/mike/code/FrenoCorp/scripts/deploy-scripter.sh`
|
||||
**Wake:** issue_assigned — FRE-713 critical, scripter.app has been returning HTTP 522 for 4+ days.
|
||||
|
||||
### What's Deployed
|
||||
- nginx server block for scripter.app (self-signed SSL cert)
|
||||
- Frontend SPA from FrenoCorp dist/ serving at /var/www/scripter
|
||||
- HTTPS with HSTS, SPA fallback, asset caching
|
||||
- HTTP to HTTPS redirect
|
||||
**Diagnosis (Completed):**
|
||||
- **Origin server IS alive** — nginx/1.24.0 Ubuntu on local machine serves HTTP 200 for scripter.app directly at 66.108.41.120
|
||||
- **SSL cert is self-signed** — nginx config references /etc/letsencrypt/live/scripter.app/ which exists with valid self-signed cert files
|
||||
- **Firewall allows port 443** — UFW has ACCEPT rule, no iptables blocking
|
||||
- **Nginx loaded and serving** — config is correct, reloaded successfully via Docker
|
||||
- **Frontend built and deployed** — latest code in /var/www/scripter/
|
||||
|
||||
### Remaining Blockers
|
||||
1. **🔴 Cloudflare origin** - Site serves locally but Cloudflare returns 522. Need Cloudflare dashboard access to update origin IP to 66.108.41.120:443
|
||||
2. **🔴 Backend services** - tRPC server (port 8080) needs TURSO database credentials (.env not set up)
|
||||
3. **🔴 Let's Encrypt cert** - Need real SSL cert for scripter.app (currently self-signed)
|
||||
4. **🔴 nginx reload persistence** - Host nginx reloaded via privileged Docker container; manual reload may be needed on restart
|
||||
**Root Cause:** Cloudflare 522 (Connection Timeout). Origin IS up but Cloudflare cannot reach it. Most likely:
|
||||
1. Wrong origin IP in Cloudflare dashboard
|
||||
2. SSL/TLS mode on "Full (strict)" rejecting self-signed origin cert
|
||||
3. Router port 443 not forwarded to 192.168.50.190
|
||||
|
||||
### Verification
|
||||
- `curl -skI https://scripter.app/ --resolve scripter.app:443:66.108.41.120` → HTTP 200
|
||||
- Title: "Scripter — Write Faster"
|
||||
- Static assets: Cache-controlled, immutable
|
||||
- SPA fallback: Working
|
||||
**Blocked On:** Need Cloudflare dashboard access (only founder/CEO has this).
|
||||
|
||||
### Files Modified/Created
|
||||
- /etc/nginx/sites-available/scripter (nginx config)
|
||||
- /etc/nginx/sites-enabled/scripter (symlink)
|
||||
- /etc/letsencrypt/live/scripter.app/fullchain.pem, privkey.pem (self-signed cert)
|
||||
- /var/www/scripter/ (static files)
|
||||
- /home/mike/code/FrenoCorp/scripts/deploy-scripter.sh (deploy script)
|
||||
**Actions Taken:**
|
||||
- Built latest frontend and deployed to /var/www/scripter/
|
||||
- Reloaded nginx via Docker (privileged)
|
||||
- Posted detailed diagnosis comment on FRE-713
|
||||
- Marked issue as blocked with unblock owner/action specified
|
||||
|
||||
### Next Actions
|
||||
1. **Founder/CEO**: Need Cloudflare dashboard access to update origin IP to 66.108.41.120
|
||||
2. **Founder**: Provide TURSO database credentials for backend
|
||||
3. **CTO (next session)**: Start backend services, obtain Let's Encrypt cert
|
||||
**Fix (15 min once access is available):**
|
||||
1. Cloudflare Dashboard → SSL/TLS → set mode to "Full"
|
||||
2. Or: Generate Origin Certificate from Cloudflare dashboard
|
||||
3. Verify: curl -sI https://scripter.app/
|
||||
|
||||
Then CMO can execute Product Hunt submission in 15 min.
|
||||
|
||||
Reference in New Issue
Block a user