From d61297d90ee80068bc7c9c7d09632829c8b18cab Mon Sep 17 00:00:00 2001 From: fxy Date: Sat, 27 Jun 2026 14:11:56 +0800 Subject: [PATCH] =?UTF-8?q?2026-06-27=20=E6=96=B0=E5=A2=9E=EF=BC=9A?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E6=9C=8D=E5=8A=A1=E6=B8=85=E5=8D=95=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/服务清单.md | 357 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 357 insertions(+) create mode 100644 docs/服务清单.md diff --git a/docs/服务清单.md b/docs/服务清单.md new file mode 100644 index 0000000..550ed98 --- /dev/null +++ b/docs/服务清单.md @@ -0,0 +1,357 @@ +# 栖云个人服务全景清单 + +> 最后更新:2026-06-27 +> 作者:冯先生 +> 目的:防止遗忘,快速查阅所有服务的部署位置、访问方式、凭证 + +--- + +## 一、架构总览 + +``` +┌─────────────────────────────────────────────────────────────┐ +│ 外网访问 │ +│ nav.xybkwd.top / podcast.xybkwd.top / vault.xybkwd.top ... │ +└────────────────────────┬────────────────────────────────────┘ + │ + ┌──────────────┴──────────────┐ + │ 东京服务器 (43.163.225.30) │ + │ Caddy 反代 + Docker 容器 │ + │ 2C/4G,跑全部核心服务 │ + └──────────────┬──────────────┘ + │ Tailscale 隧道 + ┌──────────────┴──────────────┐ + │ 北京服务器 (81.70.93.78) │ + │ Caddy 反代(独立端口) │ + │ 国内流量加速 │ + └──────────────┬──────────────┘ + │ Tailscale 隧道 + ┌──────────────┴──────────────┐ + │ 笔记本(家庭,100.99.151.78) │ + │ Docker Desktop │ + │ 音乐/相册/电子书 │ + └─────────────────────────────────┘ +``` + +--- + +## 二、东京服务器(43.163.225.30) + +### 2.1 Docker 容器 + +| 服务名 | 镜像 | 端口 | 域名 | 功能 | +|:---|:---|:---:|:---|:---| +| **homepage** | ghcr.io/gethomepage/homepage | 3001→80 | nav.xybkwd.top | 导航页 | +| **authelia** | authelia/authelia | 9091 | auth.xybkwd.top | 统一认证 | +| **audiobookshelf** | ghcr.io/advplyr/audiobookshelf | 13378→80 | podcast.xybkwd.top | 有声书 | +| **freqtrade** | freqtradeorg/freqtrade | 8081→8080 | 内部使用 | 量化交易 | +| **webdav** | bytemark/webdav | 8766→80 | dav.xybkwd.top | WebDAV 服务器 | +| **vaultwarden** | vaultwarden/server | 8088→80 | vault.xybkwd.top | 密码管理 | +| **memos** | neosmemo/memos | 5230→5230 | memo.xybkwd.top | 碎片笔记 | +| **halo** | halohub/halo | 8090→8090 | halo.xybkwd.top | 博客 | + +### 2.2 Systemd 服务 + +| 服务名 | 端口 | 域名 | 功能 | +|:---|:---:|:---|:---| +| **gitea** | 3000 | gitea.xybkwd.top | Git 仓库 | +| **caddy** | 80/443 | 所有域名 | HTTPS 反代 | +| **dashboard-api** | 9000 | dashboard.xybkwd.top | 市场结构 API | +| **dashboard** | 9001 | nav.xybkwd.top/api/todos | 待办系统 | +| **kb-qa** | - | ask.xybkwd.top | 知识库 Q&A | +| **auth_proxy** | - | - | Caddy 会话认证 | +| **shadowsocks** | - | - | 代理服务 | +| **tailscaled** | - | - | Tailscale 隧道 | + +### 2.3 Caddy 反代规则 + +``` +nav.xybkwd.top → localhost:3001 (Homepage) +auth.xybkwd.top → localhost:9091 (Authelia) +gitea.xybkwd.top → localhost:3000 (Gitea,需认证) +memo.xybkwd.top → localhost:5230 (Memos) +podcast.xybkwd.top → localhost:13378 (Audiobookshelf,无认证) +vault.xybkwd.top → localhost:8088 (Vaultwarden,需认证) +dav.xybkwd.top → localhost:8766 (WebDAV,需认证) +photo.xybkwd.top → 100.99.151.78:2283 (Immich,无认证) +books.xybkwd.top → 100.99.151.78:8083 (Calibre-Web,无认证) +halo.xybkwd.top → localhost:8090 (Halo) +dashboard.xybkwd.top → localhost:9000 (Dashboard,需认证) +ask.xybkwd.top → localhost:8100 (知识库 Q&A) +brief.xybkwd.top → /var/www/nav (静态页面) +``` + +--- + +## 三、北京服务器(81.70.93.78) + +### 3.1 Caddy 反代配置 + +| 端口 | 反代目标 | 用途 | +|:---:|:---|:---| +| **:8080** | 100.104.225.62:8080 | Gitea 原始文件访问 | +| **:4533** | 100.99.151.78:4533 | Navidrome 音乐服务 | + +### 3.2 iptables 规则 + +```bash +# NAT 转发 +sudo iptables -t nat -A PREROUTING -p tcp --dport 4533 -j DNAT --to-destination 100.99.151.78:4533 +# 允许 FORWARD +sudo iptables -A FORWARD -p tcp -d 100.99.151.78 --dport 4533 -j ACCEPT +# 持久化 +sudo iptables-save | sudo tee /etc/iptables/rules.v4 > /dev/null +``` + +--- + +## 四、笔记本(家庭,100.99.151.78) + +### 4.1 Docker 容器 + +| 服务名 | 镜像 | 端口 | 功能 | +|:---|:---|:---:|:---| +| **navidrome** | deluan/navidrome | 4533 | 音乐流媒体 | +| **calibre-web** | lscr.io/linuxserver/calibre-web | 8083 | 电子书管理 | +| **immich_server** | ghcr.io/immich-app/immich-server | 2283 | 相册备份 | +| **immich_redis** | valkey/valkey | 6379 | Immich 缓存 | +| **immich_postgres** | ghcr.io/immich-app/postgres | 5432 | Immich 数据库 | +| **immich_machine_learning** | ghcr.io/immich-app/immich-machine-learning | - | Immich AI 识别 | + +### 4.2 数据目录 + +| 服务 | 数据目录 | 说明 | +|:---|:---|:---| +| Navidrome | D:\navidrome\data | 数据库 + 配置 | +| Navidrome | D:\我的音乐库 | 音乐文件(只读)| +| Calibre-Web | D:\calibre-web\config | 配置 + 书库 | +| Immich | D:\immich\upload | 原始照片 | +| Immich | D:\immich\thumbs | 缩略图 | + +--- + +## 五、访问地址汇总 + +### 5.1 外网访问(推荐) + +| 服务 | 地址 | 说明 | +|:---|:---|:---| +| 导航页 | https://nav.xybkwd.top | 所有服务的入口 | +| Gitea | https://gitea.xybkwd.top | Git 仓库 | +| 有声书 | https://podcast.xybkwd.top | Audiobookshelf | +| 密码库 | https://vault.xybkwd.top | Vaultwarden | +| 日记 | https://memo.xybkwd.top | Memos | +| 相册 | https://photo.xybkwd.top | Immich | +| 电子书 | https://books.xybkwd.top | Calibre-Web | +| 音乐 | http://81.70.93.78:4533 | Navidrome(北京 IP)| +| 博客 | https://halo.xybkwd.top | Halo | +| 仪表盘 | https://dashboard.xybkwd.top | Dashboard | +| 知识库 | https://ask.xybkwd.top | 知识库 Q&A | + +### 5.2 内网访问(Tailscale) + +| 服务 | 地址 | 说明 | +|:---|:---|:---| +| 音乐 | http://100.99.151.78:4533 | Navidrome(直连)| +| 相册 | http://100.99.151.78:2283 | Immich(直连)| +| 电子书 | http://100.99.151.78:8083 | Calibre-Web(直连)| + +--- + +## 六、凭证与 Token + +### 6.1 Gitea + +| 字段 | 值 | +|:---|:---| +| Git Push URL | `http://fxy:7aea3932996ad4cbacfa8aa01fa9a314599df353@localhost:3000/fxy/.git` | +| API Token | `7aea3932996ad4cbacfa8aa01fa9a314599df353` | +| 用户名 | fxy | +| 权限 | admin | + +### 6.2 WebDAV(一本日记) + +| 字段 | 值 | +|:---|:---| +| 服务器地址 | `https://dav.xybkwd.top` | +| 用户名 | `fxy` | +| 密码 | 见 Gitea `fxy/server-ops/credentials/diary-webdav.md` | +| 证书验证 | 关闭(自签证书)| + +### 6.3 微信读书 API + +| 字段 | 值 | +|:---|:---| +| API Key | `wrk-MM9aAoEnTiG51JaSK7Ix5wAA` | +| API 地址 | `https://i.weread.qq.com/api/agent/gateway` | +| 认证方式 | `Authorization: Bearer {API Key}` | + +### 6.4 Server酱(微信推送) + +| 字段 | 值 | +|:---|:---| +| SendKey | 见 `~/.bashrc` 或记忆文件 | +| API 地址 | `https://sctapi.ftqq.com/{SendKey}.send` | + +### 6.5 Navidrome + +| 字段 | 值 | +|:---|:---| +| 管理员账号 | 首次访问时注册 | +| 音乐目录 | `D:\我的音乐库` | +| 配置文件 | `D:\navidrome\docker-compose.yml` | + +### 6.6 Immich + +| 字段 | 值 | +|:---|:---| +| 访问地址 | `https://photo.xybkwd.top` | +| 管理员账号 | 首次访问时注册 | +| 上传目录 | `D:\immich\upload` | + +--- + +## 七、SSH 访问 + +### 7.1 东京服务器 + +```bash +ssh -i "C:/Users/32779/Desktop/保险箱/ssh_new.pem" ubuntu@43.163.225.30 +``` + +### 7.2 北京服务器 + +```bash +ssh -i "C:/Users/32779/Desktop/保险箱/BJ.pem" ubuntu@81.70.93.78 +``` + +### 7.3 笔记本(Tailscale) + +```bash +ssh -i "C:/Users/32779/Desktop/保险箱/TS.pem" ubuntu@100.99.151.78 +``` + +--- + +## 八、日常运维命令 + +### 8.1 东京服务器 + +```bash +# 查看所有容器 +docker ps + +# 查看 Caddy 日志 +sudo journalctl -u caddy -n 50 + +# 重启 Caddy +sudo systemctl restart caddy + +# 查看 Gitea 日志 +sudo journalctl -u gitea -n 50 +``` + +### 8.2 北京服务器 + +```bash +# 查看 Caddy 配置 +cat /etc/caddy/Caddyfile + +# 重启 Caddy +sudo systemctl restart caddy + +# 查看 iptables 规则 +sudo iptables -t nat -L -n -v +``` + +### 8.3 笔记本 + +```bash +# 查看所有容器 +docker ps + +# 重启 Navidrome +cd D:\navidrome && docker compose restart + +# 查看 Navidrome 日志 +docker logs navidrome --tail 50 +``` + +--- + +## 九、备份与恢复 + +### 9.1 重要目录 + +| 目录 | 备份频率 | 备份位置 | +|:---|:---:|:---| +| Gitea 数据 | 每日 | `fxy/server-ops` | +| Inspired 收集器 | 每 30 分钟 | `fxy/inspiration-collector` | +| 微信读书笔记 | 每小时 | `fxy/weread-notes` | +| 电子书库 | 每周 | `D:\服务器备份\calibre-web\` | +| 有声书 | 每周 | `D:\服务器备份\有声书\` | +| 照片库 | 每周 | `D:\服务器备份\immich\` | + +### 9.2 恢复流程 + +1. **Gitea 仓库**:从 `fxy/server-ops` 克隆 +2. **音乐库**:从 `D:\我的音乐库` 恢复 +3. **照片库**:从 `D:\服务器备份\immich\` 恢复 + +--- + +## 十、常见问题 + +### 10.1 音乐服务加载不出来艺术家 + +**原因**:Navidrome 首次扫描需要下载艺术家图片和信息,耗时较长。 + +**解决**:等待 10-30 分钟,或禁用在线元数据(Settings → Library → 取消勾选 Last.fm/Spotify)。 + +### 10.2 北京服务器端口不通 + +**原因**:iptables 规则未持久化,服务器重启后丢失。 + +**解决**: +```bash +sudo iptables-save | sudo tee /etc/iptables/rules.v4 > /dev/null +``` + +### 10.3 Immich 上传失败 + +**原因**:Tailscale 隧道断开,或笔记本休眠。 + +**解决**:检查 Tailscale 状态(`tailscale status`),确保笔记本不休眠。 + +--- + +## 附录:服务依赖关系 + +``` +用户访问 + ↓ +Caddy (东京/北京) + ↓ +├─ 静态服务(直接返回) +│ ├─ Homepage (3001) +│ ├─ Brief (静态文件) +│ └─ Ask (8100) +│ +├─ Docker 服务(反代到容器) +│ ├─ Audiobookshelf (13378) +│ ├─ Vaultwarden (8088) +│ ├─ Memos (5230) +│ ├─ Halo (8090) +│ └─ WebDAV (8766) +│ +└─ Tailscale 服务(反代到笔记本) + ├─ Immich (2283) + ├─ Calibre-Web (8083) + └─ Navidrome (4533,经北京反代) +``` + +--- + +**文档版本**:v1.0 +**下次更新**:新增服务时立即更新 +**维护者**:冯先生 + 小布主任