| Item | Current | After |
|---|---|---|
| URL | http://34.55.179.122:8501 | https://morpheus.callbrightside.com |
| HTTPS | ❌ No (browser shows "Not Secure") | ✅ Yes (padlock icon) |
| Access | IP + port number | Clean subdomain |
| Cert Renewal | N/A | Auto-renews every 90 days |
| Firewall | Port 8501 open to internet | Port 443 only (nginx proxy) |
The domain callbrightside.com is registered through Squarespace, but DNS is managed by Cloudflare (nameservers: nick.ns.cloudflare.com, kim.ns.cloudflare.com). Squarespace even shows a warning: "Your DNS records are managed with your third-party nameserver provider." So the A record MUST be added in Cloudflare, not Squarespace.
dovew@nexus-vm:~$ prompthttp-server and https-server network tags, which auto-allow ports 80 and 443. Verify:sudo nginx -t && sudo systemctl status nginxrobert.dove@callbrightside.comY and press EnterN and press EnterRight now the dashboard is accessible from anywhere. To lock it down to your office/home IP:
⚠️ Warning: If your IP changes (home internet resets), you will lose access until you update the rule. Consider using a VPN with a static IP for more reliable access.
Current: Port 8501 (Ashton) and Port 8502 (Robert) run separate Streamlit instances.
After subdomain: One instance at morpheus.callbrightside.com for everyone.
Role-based access (login page) controls what each person sees.
Perfect this one dashboard first, then create role-specific views if needed later.
To consolidate: After subdomain is live, shut down port 8502 service and close the firewall rule:
| Problem | Fix |
|---|---|
| "Connection refused" | Check nginx is running: sudo systemctl status nginx |
| "502 Bad Gateway" | Streamlit not running: sudo systemctl restart nexus-dashboard |
| "DNS not found" | Wait 5 min for DNS propagation, or check Cloudflare A record for "morpheus" (NOT Squarespace, DNS is managed by Cloudflare) |
| Certbot fails | Ensure port 80 is open and DNS points to VM IP |
| WebSocket errors | Nginx config missing Upgrade headers. Re-paste Step 6 config. |
| Dashboard blank | Check Streamlit logs: sudo journalctl -u nexus-dashboard -n 50 |
| Cert expired | Run: sudo certbot renew (should auto-renew) |
| Lost access after IP change | Update firewall: gcloud compute firewall-rules update ... with new IP |