Files
sms_forwarder/docs/docker-quickstart.md
zack 30c7e0062f 📚 重写 Docker 部署文档和 README
- 重写 docs/deployment.md,专注于 Docker 部署
- 更新 README.md,添加功能特性和管理命令
- 新增 docs/docker-quickstart.md 快速开始指南
- 优化文档结构,提供更清晰的部署流程
- 添加故障排除和维护指南
2025-07-17 19:46:11 +08:00

223 lines
3.9 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.

# 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 设备
享受你的短信转发服务吧!🎊