Files
proxycast/docs/ops.md
T

88 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 生产运维与上线就绪清单
本文档用于生产环境部署、运行、备份与恢复的最小操作规范,避免上线后缺少可执行流程。
## 部署前检查
- 确认 API Key 已更换(禁止使用默认值 `proxy_cast`)。
- 确认监听地址:
- 本机使用 `127.0.0.1`/`localhost`。
- 当前版本仅支持本地监听,不支持对外服务。
- 若需要 HTTPS,请使用反向代理终止 TLS;当前服务端未启用内置 TLS。
- 确认磁盘权限可写:`~/.proxycast/`、`~/.proxycast/request_logs/`、应用数据目录(macOS: `~/Library/Application Support/proxycast/`,Linux: `~/.local/share/proxycast/`,Windows: `%APPDATA%\\proxycast\\`)。
## 配置路径与加载顺序
- YAML 配置(优先):
- macOS: `~/Library/Application Support/proxycast/config.yaml`
- Linux: `~/.config/proxycast/config.yaml`
- Windows: `%APPDATA%\\proxycast\\config.yaml`
- JSON 配置(兼容):macOS `~/Library/Application Support/proxycast/config.json`,Linux `~/.config/proxycast/config.json`,Windows `%APPDATA%\\proxycast\\config.json`
- 旧版遗留路径:`~/.proxycast/config.json`(检测到会提示手动迁移)
- 两者都不存在时使用默认配置。
- 首次启动会自动生成强随机 API Key 并写入配置。
## 数据与日志位置
- SQLite 数据库:`~/.proxycast/proxycast.db`
- 凭证池副本目录:macOS `~/Library/Application Support/proxycast/credentials/`,Linux `~/.local/share/proxycast/credentials/`,Windows `%APPDATA%\\proxycast\\credentials\\`
- OAuth/Token 目录(默认):`~/.proxycast/auth/`
- 日志目录:`~/.proxycast/logs/`
- 请求日志目录:`~/.proxycast/request_logs/`
- 数据库备份目录:`~/.proxycast/backups/`
## 备份与恢复
### 备份
1. 可使用管理端点触发备份(需配置管理密钥):
- `POST /v0/management/backup`
2. 或手动备份(建议停服后执行):
- 复制以下路径:
- 配置文件(macOS: `~/Library/Application Support/proxycast/config.yaml`,Linux: `~/.config/proxycast/config.yaml`,Windows: `%APPDATA%\\proxycast\\config.yaml`)
- 配置备份文件:`config.yaml.backup`
- 凭证池副本目录(macOS: `~/Library/Application Support/proxycast/credentials/`,Linux: `~/.local/share/proxycast/credentials/`,Windows: `%APPDATA%\\proxycast\\credentials\\`)
- `~/.proxycast/proxycast.db`
- `~/.proxycast/auth/`(如需要保留 OAuth/Token)
- `~/.proxycast/logs/`、`~/.proxycast/request_logs/`(如需保留日志)
3. 将备份文件存入受控存储(加密磁盘或安全存储)。
### 自动备份
- 服务运行期间每 24 小时自动创建数据库备份到 `~/.proxycast/backups/`。
- 备份默认保留 7 天,过期文件会被清理。
### 恢复
1. 停止 ProxyCast 服务。
2. 使用管理端点恢复(建议停服后执行,执行时会锁定数据库并短暂阻塞请求):
- `POST /v0/management/restore`,请求体:`{"backup_path": "/path/to/proxycast_YYYYMMDD_HHMMSS.db"}`
3. 或手动恢复上述文件到原路径。
4. 启动服务并检查 `/health` 与 `/ready`。
## 升级与回滚
- 升级前执行备份流程。
- 升级后若出现异常:
- 恢复备份文件。
- 回滚到上一个稳定版本的安装包。
## 运行与排障
- 健康检查:`GET /health`
- 就绪检查:`GET /ready`
- 常见问题排查:
- 端口占用:修改配置端口或释放占用端口。
- 配置解析失败:检查 YAML/JSON 语法,确认缩进正确。
- 数据库初始化失败:检查 `~/.proxycast/` 权限与磁盘空间。
## 安全基线
- 禁止默认 API key。
- 当前版本未实现内置 TLS,远程管理必须保持关闭且仅本地访问。
## 管理 API 基线
- 管理 API 启用后会对失败认证进行短期限制,避免暴力尝试。
- 建议仅在内网使用,并配合独立强密钥。