# 栖云个人服务全景清单 > 最后更新: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 **下次更新**:新增服务时立即更新 **维护者**:冯先生 + 小布主任