9.1 KiB
9.1 KiB
title, type, tags, date
| title | type | tags | date | |||||
|---|---|---|---|---|---|---|---|---|
| 家庭网络环境概览 | source |
|
2026-04-03 |
Source File
Summary (用中文描述)
- 核心主题:星曜家庭网络基础设施的完整架构图谱,涵盖5大节点(1个公网VPS + 1个Mac Mini + 1个Synology NAS + 2个Ubuntu Server),近50个Docker应用服务的部署现状、端口映射与公网访问方案。
- 问题域:如何将分散在多个物理位置和内网的服务,通过FRP内网穿透 + Caddy反向代理 + Cloudflare DNS,实现统一的HTTPS公网访问?
- 方法/机制:
- FRP(frps/frpc):在内网各节点部署frpc客户端,公网VPS运行frps服务端,通过TCP隧道将内网端口映射到公网;
- Caddy:在公网VPS上运行,自动申请Let's Encrypt证书,根据域名将请求反向代理到对应的FRP映射端口;
- Cloudflare:托管 ishenwei.online 域名的DNS解析,将子域名A记录指向VPS公网IP;
- Docker Compose:各节点上的服务通过Docker Compose管理,独立部署、版本隔离。
- 结论/价值:该架构实现了"零静态IP依赖"的公网访问方案,所有内网服务均可通过 *.ishenwei.online 子域名从公网访问,同时保持了内网服务的隐私性和低带宽成本。
Key Claims (用中文描述)
- VPS(192.227.222.142)通过FRP Server(端口7000)+ Caddy Web服务器,为全网内网服务提供统一的HTTPS公网入口。
- Mac Mini M4(192.168.3.189)作为主控节点,运行OpenClaw AI助手框架、vaultwarden密码管理器及STQ项目管理系统。
- Synology NAS DS718(192.168.3.17)托管了媒体服务(Jellyfin/Navidrome)、监控栈(Prometheus/Alertmanager/node_exporter)、密码管理(vaultwarden)、云盘挂载(CloudDrive2)等核心应用。
- Ubuntu Server 1(192.168.3.47)承担监控可视化(Grafana/Superset)、个人导航(Homarr)、BT下载(Transmission)等面向公网的服务。
- Ubuntu Server 2(192.168.3.45)运行n8n工作流自动化、Gitea自建Git服务及TikTok项目管理系统(DEV环境)。
- 科学上网代理(SOCKS5: 10808)在Mac mini、ubuntu1、ubuntu2上均正常,仅NAS(端口20170)仅本机监听。
Key Quotes
"Caddy — 现代化 Web 服务器,自带 HTTPS 自动化证书申请,常作为前置反向代理处理业务流量。" — 域名映射表说明
"FRP Server — 高性能内网穿透服务端(frps),负责将内网 NAS 或本地开发环境的服务暴露至公网访问。端口 7000" — VPS应用说明
"n8n 已迁移至 Ubuntu2,Mac Mini 不再暴露 n8n 端口" — Mac Mini FRP配置说明
Key Concepts
- 内网穿透:通过FRP反向隧道将内网服务暴露至公网访问的完整方案,包含frps(服务端)和frpc(客户端)两个组件。
- 反向代理:通过Caddy根据域名将公网HTTPS请求反向代理到内网FRP映射端口的机制。
- HTTPS自动化证书:Caddy自动申请和管理Let's Encrypt SSL证书的机制。
- Docker Compose:各节点服务通过YAML文件声明式定义和管理的多容器编排工具。
- 时序数据库:Prometheus作为监控数据的时序数据库,用于采集和存储node_exporter/cAdvisor/blackbox_exporter的指标。
- 告警管理:Alertmanager处理Prometheus告警的分组、抑制、静默和多通道路由。
- SOCKS5代理:本地科学上网代理协议,监听127.0.0.1:10808。
- DNS托管:Cloudflare免费提供域名DNS解析服务,含CDN和SSL。
Key Entities
- RackNerd:VPS提供商,托管公网VPS1(192.227.222.142),提供frps和Caddy服务。
- Mac Mini M4:Apple Silicon Mac Mini作为家庭服务器主控节点(192.168.3.189),运行OpenClaw、vaultwarden、STQ项目等应用。
- Synology NAS DS718:群晖NAS设备(192.168.3.17),运行DSM管理界面及Calibre/MinIO/Zipline/Navidrome/Jellyfin等Docker应用。
- Ubuntu Server:两个内网Ubuntu服务器节点(Ubuntu1: 192.168.3.47, Ubuntu2: 192.168.3.45),承担监控/导航/下载/工作流/Git等服务。
- Caddy:公网VPS上的自动HTTPS反向代理服务器,绑定*.ishenwei.online域名。
- frp:内网穿透工具(frps/frpc v0.65.0),实现内网端口到公网端口的TCP隧道映射。
- Prometheus:时序数据库监控系统,在NAS和Ubuntu1上运行,采集node_exporter/cAdvisor/blackbox_exporter指标。
- Grafana:监控可视化平台(Ubuntu1:13000),通过Dashboard ID导入官方模板。
- vaultwarden:轻量级Bitwarden密码管理器服务端,在Mac Mini和NAS上均有部署。
- Jellyfin:开源媒体服务器,在NAS上运行(端口8096),公网通过FRP+Caddy访问。
- Navidrome:开源音乐流媒体服务器,Subsonic API兼容,在NAS上运行(端口4533)。
- Transmission:BT下载客户端,在Ubuntu1上运行(端口9091),公网通过FRP+Caddy访问。
- n8n:工作流自动化平台,已从Mac Mini迁移至Ubuntu2(端口5678),公网通过FRP+Caddy访问。
- Portainer:Docker容器可视化管理界面,在NAS、Ubuntu1、Ubuntu2上均有部署。
- Homarr:个人导航页面/仪表板,在Ubuntu1上运行(端口7575),公网通过FRP+Caddy访问。
- Apache Superset:开源BI平台,在Ubuntu1上运行(端口8777),公网通过FRP+Caddy访问。
- Zipline:自托管图床应用,在NAS上运行(端口3333),后端为PostgreSQL。
- MinIO:S3兼容对象存储,在NAS上运行(端口9001),作为Zipline的存储后端。
- Cloudflare:DNS托管服务商,免费提供CDN和SSL证书,托管ishenwei.online域名。
- OpenClaw:AI助手框架,在Mac Mini上运行(端口8080),星曜的主要运行环境。
- Calibre:电子书库管理工具,在NAS上运行(端口8083),公网通过FRP+Caddy访问。
- v2rayA:V2Ray图形化代理客户端,在NAS上运行(端口2017),SOCKS5仅本机监听。
- CloudDrive2:多云盘挂载工具,在NAS上运行(端口19798),支持阿里云盘等。
- Alertmanager:Prometheus告警分发组件,在NAS和Ubuntu1上运行(端口9093)。
- node_exporter:Prometheus官方主机指标采集器,以host network模式运行。
- cAdvisor:Google开源容器资源监控工具,挂载Docker socket采集容器级指标。
- blackbox_exporter:Prometheus官方黑盒探测exporter,支持HTTP/TCP/ICMP/DNS/TLS探测。
- nginx-proxy-manager:反向代理管理工具,在Ubuntu1上运行(端口81)。
- Gitea:自建Git服务,在Ubuntu2上运行(端口3000)。
- Draw.io:在线图表编辑器,在Ubuntu2上运行(端口8085),公网通过FRP+Caddy访问。
- it-tools:开源开发者工具集合,在Ubuntu1和Ubuntu2上运行(端口8999),提供URL编解码、UUID生成、哈希计算等100+工具。
Connections
- Caddy ← 反向代理 ← frp(Caddy将HTTPS请求代理到FRP映射端口)
- Cloudflare ← DNS托管 ← Caddy(DNS A记录指向VPS公网IP)
- Prometheus ← 指标采集 ← node_exporter + cAdvisor + blackbox_exporter
- Grafana ← 数据源 ← Prometheus(Grafana消费Prometheus指标)
- Alertmanager ← 告警路由 ← Prometheus(Prometheus触发告警后发送至Alertmanager)
- Zipline ← 存储后端 ← MinIO(Zipline使用MinIO存储图片)
- Zipline ← 数据库 ← PostgreSQL(NAS上zipline_postgres容器)
- Jellyfin ← 下载来源 ← Transmission(下载→整理→播放工作流)
- Navidrome ← 同 ← Jellyfin(均为媒体服务,下载→播放工作流)
- OpenClaw ← 运行平台 ← Mac Mini M4(OpenClaw的主要运行环境)
- n8n ← 数据存储 ← PostgreSQL(Ubuntu2上n8n_postgres容器)
- Cloudflare ← DNS ← RackNerd(VPS IP: 192.227.222.142)
- frp ← 客户端节点 ← Mac Mini M4 + Synology NAS DS718 + Ubuntu Server 1 + Ubuntu Server 2(4个frpc客户端)
- frp ← 服务端 ← RackNerd(VPS运行frps服务端)
- Docker Compose ← 部署载体 ← Prometheus + Grafana + Jellyfin + Navidrome + n8n + Zipline + MinIO + v2rayA + vaultwarden + Portainer + Homarr + Apache Superset + Gitea + it-tools(所有Docker应用均通过Docker Compose部署)
Contradictions
- 与 ubuntu-server科学上网 冲突:
- 冲突点:NAS上v2rayA的SOCKS5代理(端口20170)状态为"仅本机监听",而ubuntu-server科学上网方案强调Docker Daemon也需要代理配置。
- 当前观点:v2rayA在NAS上运行但仅本机监听,Docker pull仍可能受限。
- 对方观点:Ubuntu Server可通过ProxyChains/Docker Daemon Proxy显式配置代理,覆盖终端和Docker Daemon两层。
- Resolution:v2rayA仅覆盖NAS本身,NAS上Docker pull可能还需配置Docker Daemon Proxy(参考群晖NAS科学上网方案)。