Files
server-ops/docs/服务清单.md

11 KiB
Raw Permalink Blame History

栖云个人服务全景清单

最后更新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 规则

# 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/<repo名>.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 东京服务器

ssh -i "C:/Users/32779/Desktop/保险箱/ssh_new.pem" ubuntu@43.163.225.30

7.2 北京服务器

ssh -i "C:/Users/32779/Desktop/保险箱/BJ.pem" ubuntu@81.70.93.78

7.3 笔记本Tailscale

ssh -i "C:/Users/32779/Desktop/保险箱/TS.pem" ubuntu@100.99.151.78

八、日常运维命令

8.1 东京服务器

# 查看所有容器
docker ps

# 查看 Caddy 日志
sudo journalctl -u caddy -n 50

# 重启 Caddy
sudo systemctl restart caddy

# 查看 Gitea 日志
sudo journalctl -u gitea -n 50

8.2 北京服务器

# 查看 Caddy 配置
cat /etc/caddy/Caddyfile

# 重启 Caddy
sudo systemctl restart caddy

# 查看 iptables 规则
sudo iptables -t nat -L -n -v

8.3 笔记本

# 查看所有容器
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 规则未持久化,服务器重启后丢失。

解决

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
下次更新:新增服务时立即更新
维护者:冯先生 + 小布主任