From ef21a5808e55aaa1420e15469ad1604f61da6ea3 Mon Sep 17 00:00:00 2001
From: "2569718930@qq.com" <2569718930@qq.com>
Date: Sun, 14 Jun 2026 23:13:37 +0800
Subject: [PATCH] Update production deployment references
---
CLAUDE.md | 12 +++++++-----
README.md | 2 +-
README_ZH.md | 4 ++--
extension/README.md | 2 +-
extension/options.html | 4 ++--
extension/options.js | 4 ++--
extension/sidepanel.js | 4 ++--
frontend/app/api/analytics/events/route.ts | 5 +----
frontend/app/api/auth/me/route.ts | 5 +----
frontend/app/api/ops/subscriptions/grant/route.ts | 2 +-
frontend/public/sw.js | 4 ++--
11 files changed, 22 insertions(+), 26 deletions(-)
diff --git a/CLAUDE.md b/CLAUDE.md
index 88f76bc7..0df354cf 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Project Overview
-PolyWeather Pro — a paid institutional weather-intelligence terminal. 50 monitored cities with real-time METAR/AMOS/MADIS observations, DEB multi-model temperature blending, Mu probability calibration, and intraday bias correction. Pure meteorological decision workspace; no market/price layer. Next.js 15 + React 19 (Vercel) frontend, FastAPI backend (VPS), Telegram bot.
+PolyWeather Pro — a paid institutional weather-intelligence terminal. 50 monitored cities with real-time METAR/AMOS/MADIS observations, DEB multi-model temperature blending, Mu probability calibration, and intraday bias correction. Pure meteorological decision workspace; no market/price layer. Next.js 15 + React 19 frontend (Docker / VPS, behind Cloudflare + Nginx), FastAPI backend (VPS), Telegram bot.
**Business model**: Paid-only, $10/month, no free tier, no trial. Landing page is public; `/terminal` requires login + active subscription.
@@ -47,10 +47,12 @@ docker compose down && docker compose up -d --build
## Architecture
```
-Users → Next.js (Vercel) → FastAPI :8000 (VPS)
- /terminal (paid gate) Weather Collector
- / (landing page) Analysis (DEB + Mu)
- Payment Layer (USDC on Polygon)
+Users → Cloudflare → Nginx → Docker Compose (VPS)
+ ├── Next.js frontend → FastAPI :8000
+ │ /terminal (paid gate) Weather Collector
+ │ / (landing page) Analysis (DEB + Mu)
+ │ Payment Layer (USDC on Polygon)
+ └── Redis (SSE event store)
Telegram Bot → bot_listener.py
```
diff --git a/README.md b/README.md
index 78842302..ecb6f48f 100644
--- a/README.md
+++ b/README.md
@@ -84,7 +84,7 @@ See: [AGPL-3.0 & Commercial Boundary](docs/OPEN_CORE_POLICY.md)
```mermaid
flowchart LR
- U["Users (Web / Telegram)"] --> FE["Next.js Frontend (Vercel)"]
+ U["Users (Web / Telegram)"] --> FE["Next.js Frontend (Docker / VPS)"]
U --> BOT["Telegram Bot (VPS)"]
FE --> API["FastAPI /web/app.py"]
BOT --> API
diff --git a/README_ZH.md b/README_ZH.md
index 67c59581..470de2be 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -83,7 +83,7 @@
```mermaid
flowchart LR
- U["用户(Web / Telegram)"] --> FE["Next.js 前端(Vercel)"]
+ U["用户(Web / Telegram)"] --> FE["Next.js 前端(Docker / VPS)"]
U --> BOT["Telegram Bot(VPS)"]
FE --> API["FastAPI /web/app.py"]
BOT --> API
@@ -218,7 +218,7 @@ POLYWEATHER_OPS_ADMIN_EMAILS=yhrsc30@gmail.com
- AGPL-3.0 边界:[docs/OPEN_CORE_POLICY.md](docs/OPEN_CORE_POLICY.md)
- Supabase 接入:[docs/SUPABASE_SETUP_ZH.md](docs/SUPABASE_SETUP_ZH.md)
- 配置与密钥管理:[docs/CONFIGURATION_ZH.md](docs/CONFIGURATION_ZH.md)
-- 前端部署(Vercel):[docs/FRONTEND_DEPLOYMENT_ZH.md](docs/FRONTEND_DEPLOYMENT_ZH.md)
+- 前端部署(Docker / VPS):[docs/FRONTEND_DEPLOYMENT_ZH.md](docs/FRONTEND_DEPLOYMENT_ZH.md)
- 技术债:[docs/TECH_DEBT_ZH.md](docs/TECH_DEBT_ZH.md)
- 机场实时数据源:[docs/AIRPORT_REALTIME_SOURCES.md](docs/AIRPORT_REALTIME_SOURCES.md)
- 机场市场监控(中文):[docs/AIRPORT_MARKET_MONITOR_ZH.md](docs/AIRPORT_MARKET_MONITOR_ZH.md)
diff --git a/extension/README.md b/extension/README.md
index 5cad0384..85a3e8b3 100644
--- a/extension/README.md
+++ b/extension/README.md
@@ -43,7 +43,7 @@
首次建议打开扩展"选项页"并确认:
-- `网站基础地址`:你的前端域名(例如 `https://polyweather-pro.vercel.app`)
+- `网站基础地址`:你的前端域名(例如 `https://polyweather.top`)
- `API 基础地址`:你的后端 API 域名(若同域也可填前端域名)
- `Bearer Token`:后端开启鉴权时填写
diff --git a/extension/options.html b/extension/options.html
index 8444500e..22531bbf 100644
--- a/extension/options.html
+++ b/extension/options.html
@@ -12,12 +12,12 @@