📚 重写 Docker 部署文档和 README

- 重写 docs/deployment.md,专注于 Docker 部署
- 更新 README.md,添加功能特性和管理命令
- 新增 docs/docker-quickstart.md 快速开始指南
- 优化文档结构,提供更清晰的部署流程
- 添加故障排除和维护指南
This commit is contained in:
zack
2025-07-17 19:46:11 +08:00
parent 152e136673
commit 30c7e0062f
4 changed files with 573 additions and 229 deletions

222
docs/docker-quickstart.md Normal file
View File

@ -0,0 +1,222 @@
# Docker 快速开始指南
本指南将帮助你在 5 分钟内使用 Docker 部署 SMS Forwarder。
## 🎯 目标
- ✅ 在 VPS 上部署 SMS Forwarder
- ✅ 配置推送服务Gotify 或 ntfy
- ✅ 设置 iPhone 快捷指令
- ✅ 实现短信自动转发
## 📋 前提条件
- VPS 服务器1GB+ 内存)
- Docker 和 Docker Compose
- 域名(可选,用于 HTTPS
## 🚀 部署步骤
### 1. 克隆项目
```bash
# SSH 到你的 VPS
ssh user@your-vps
# 克隆项目
git clone https://gitea.nosuchip.de/zack/sms_forwarder.git
cd sms_forwarder
```
### 2. 配置服务
```bash
# 复制配置文件
cp config.example.yaml config.yaml
# 编辑配置
nano config.yaml
```
**必须修改的配置项**
```yaml
server:
api_key: "your-secret-api-key-here" # 生成强密钥
notifications:
services:
# 选择一种推送方式
- name: "ntfy"
url: "ntfy://your-unique-topic-name/"
enabled: true
```
### 3. 生成 API 密钥
```bash
# 生成强密钥
python3 -c "import secrets; print(secrets.token_urlsafe(32))"
```
将生成的密钥填入 `config.yaml``server.api_key` 字段。
### 4. 选择推送方式
#### 方案 A使用 ntfy推荐新手
```yaml
notifications:
services:
- name: "ntfy"
url: "ntfy://sms-forward-$(whoami)-$(date +%s)/"
enabled: true
```
在 Android 设备上:
1. 安装 ntfy 应用
2. 订阅主题:`sms-forward-$(whoami)-$(date +%s)`
#### 方案 B自建 Gotify推荐进阶
```bash
# 启动 SMS Forwarder + Gotify
docker-compose --profile gotify up -d
```
然后:
1. 访问 `http://your-vps:24545`
2. 登录admin/admin
3. 创建应用获取 Token
4. 更新配置文件中的 Gotify URL
### 5. 部署服务
```bash
# 一键部署
./scripts/deploy.sh
```
或手动部署:
```bash
# 构建并启动
docker-compose up -d
# 查看状态
docker-compose ps
```
### 6. 测试部署
```bash
# 运行测试
./scripts/test-docker.sh
```
如果测试通过,你应该在 Android 设备上收到测试通知。
## 📱 配置 iPhone
### 1. 创建快捷指令
1. 打开 iPhone "快捷指令" 应用
2. 点击 "+" 创建新快捷指令
3. 添加 "获取我的快捷指令的输入" 动作
4. 添加 "获取 URL 内容" 动作
### 2. 配置 HTTP 请求
- **URL**: `http://your-vps:12152/notify/simple`
- **方法**: POST
- **请求体**: JSON
- **标头**: `Content-Type: application/json`
**请求体内容**
```json
{
"api_key": "your-api-key-here",
"content": "快捷指令输入"
}
```
### 3. 设置自动化
1. 点击 "自动化" → "+"
2. 选择 "收到信息时"
3. 选择 "任何人" 或特定联系人
4. 选择你创建的快捷指令
5. 关闭 "运行前询问"
## 🔧 管理和维护
### 常用命令
```bash
# 查看服务状态
./scripts/docker-manage.sh status
# 查看实时日志
./scripts/docker-manage.sh logs
# 重启服务
./scripts/docker-manage.sh restart
# 发送测试通知
./scripts/docker-manage.sh test
```
### 更新服务
```bash
# 拉取最新代码
git pull
# 重新部署
./scripts/deploy.sh
```
## 🛡️ 安全建议
1. **使用强 API 密钥**
2. **限制访问 IP**(在 config.yaml 中配置)
3. **使用 HTTPS**(配置域名和 SSL 证书)
4. **定期备份配置**
## 🆘 故障排除
### 服务无法启动
```bash
# 查看错误日志
docker-compose logs sms-forwarder
# 检查配置文件
docker-compose config
```
### 通知发送失败
```bash
# 检查网络连接
docker-compose exec sms-forwarder curl -I https://ntfy.sh
# 验证配置
curl http://localhost:12152/status
```
### iPhone 快捷指令不工作
1. 检查网络连接
2. 确认 API 密钥正确
3. 查看服务器日志
4. 测试 API 端点
## 🎉 完成
如果一切正常,你现在应该能够:
- ✅ 在 iPhone 上收到短信时自动触发快捷指令
- ✅ 快捷指令将短信内容发送到你的服务器
- ✅ 服务器将通知推送到你的 Android 设备
享受你的短信转发服务吧!🎊