2026-06-27 新增:完整服务清单文档
This commit is contained in:
357
docs/服务清单.md
Normal file
357
docs/服务清单.md
Normal file
@ -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/<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 东京服务器
|
||||||
|
|
||||||
|
```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
|
||||||
|
**下次更新**:新增服务时立即更新
|
||||||
|
**维护者**:冯先生 + 小布主任
|
||||||
Reference in New Issue
Block a user