feat: 新增开源版官网骨架 website/,并接入部署编排与网关路由

- website/:VitePress 官网工程(首页/功能/对比/快速开始/部署运维/教程/社区),与文档站同构
- 两种形态由 SITE_BASE 决定:/www/ 子路径(过渡)与 / 根路径(独立域名),内容同源
- deploy/:新增 with-website profile、网关 /www/ 路由、多域名 website vhost 段
- Makefile:新增 website 镜像条目与 make website 目标
- 教程页给出部署/使用两支视频的元数据与录制要求,官网留有教程入口
This commit is contained in:
技小云
2026-11-04 10:41:05 +08:00
committed by MiFaZhan
parent e98f8561f7
commit d78379486c
23 changed files with 3293 additions and 1 deletions
+16
View File
@@ -10,6 +10,7 @@
# 路由:
# / -> 管理端(admin-ui,内部已代理 /api/ 到 admin-svr)
# /docs/ -> 文档站(docs)
# /www/ -> 官网(website,需启用 with-website profile)
# /openapi/ -> 对外 API(openapi)
# /route/open/ -> 运营商能力代理(openapi)
#
@@ -24,6 +25,9 @@ resolver 127.0.0.11 valid=10s ipv6=off;
upstream gw_admin_ui { zone gw_admin_ui 64k; server admin-ui:80 resolve; }
upstream gw_openapi { zone gw_openapi 64k; server openapi:8000 resolve; }
upstream gw_docs { zone gw_docs 64k; server docs:80 resolve; }
# 官网(可选组件,profile with-website)。容器未启动时该路径返回 502,
# 不影响其它路径;resolve 让容器 IP 变化后自动跟随。
upstream gw_website { zone gw_website 64k; server website:80 resolve; }
server {
listen 80;
@@ -51,6 +55,18 @@ server {
proxy_pass http://gw_docs;
}
# ---------- 官网(子路径形态) ----------
# 官网以 SITE_BASE=/www/ 构建时,资源引用是 /www/assets/...,
# 所以这里不能剥前缀(proxy_pass 不带尾斜杠),由官网容器内的
# alias 规则自己剥。域名定下来后改用独立 vhost,这段可删。
location = /www {
return 301 /www/;
}
location ^~ /www/ {
proxy_pass http://gw_website;
}
# ---------- 对外 API:版本化接口 ----------
location ^~ /openapi/ {
proxy_pass http://gw_openapi;
+25
View File
@@ -46,6 +46,11 @@ upstream iotlcm_app_server {
server app-server:8010 resolve;
}
upstream iotlcm_website {
zone iotlcm_website 64k;
server website:80 resolve;
}
# ---------- OpenAPI 对外域名 ----------
server {
listen 80;
@@ -117,6 +122,26 @@ server {
}
}
# ---------- 官网 ----------
# 独立域名形态:把 server_name 换成实际官网域名,
# 并让 DNS 指到这台机器。官网容器以 SITE_BASE=/ 构建(资源引用为 /assets/...),
# 所以这里按根路径转发。
server {
listen 80;
server_name www.your-domain.example.com;
client_max_body_size 200m;
location / {
proxy_pass http://iotlcm_website;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# ---------- 小程序 / H5 ----------
server {
listen 80;