Files
company-celebration/DEPLOY.md
2026-02-04 01:29:05 +08:00

124 lines
2.4 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 20.10+
- Docker Compose 2.0+
- 已备案的域名
- 域名已解析到服务器 IP
## 快速部署
### 1. 上传项目到服务器
```bash
scp -r company-celebration2 user@your-server:/opt/
```
### 2. 配置环境变量
复制环境变量模板并配置:
```bash
cp .env.example .env
```
编辑 `.env` 文件,配置微信开放平台参数:
```env
# 微信开放平台配置(必填)
WECHAT_APP_ID=your_app_id
WECHAT_APP_SECRET=your_app_secret
WECHAT_REDIRECT_URI=https://your-domain.com/api/wechat/callback
```
> 注意:需要在微信开放平台配置授权回调域名(只填域名,不含路径)
如需启用公众号网页授权登录,请追加:
```env
# 微信公众号网页授权配置(可选)
WECHAT_MP_APP_ID=your-mp-app-id
WECHAT_MP_APP_SECRET=your-mp-app-secret
# 回调域名白名单host 级别,逗号分隔,不含协议与路径)
WECHAT_MP_REDIRECT_ALLOWLIST=your-domain.com,www.your-domain.com
```
### 3. 配置域名
编辑 `deploy/Caddyfile`,将 `your-domain.com` 替换为你的实际域名:
```bash
cd /opt/company-celebration2
sed -i 's/your-domain.com/你的域名/g' deploy/Caddyfile
```
同时更新邮箱地址(用于 SSL 证书通知):
```bash
sed -i 's/your-email@example.com/你的邮箱/g' deploy/Caddyfile
```
### 4. 构建并启动
```bash
docker-compose up -d --build
```
Caddy 会自动申请和管理 SSL 证书,无需手动配置。
### 5. 查看日志
```bash
docker-compose logs -f
```
## 访问地址
| 端点 | 地址 |
|------|------|
| 手机端 | https://your-domain.com/ |
| 大屏端 | https://your-domain.com/screen |
| 导演控制台 | https://your-domain.com/screen/admin/director-console |
## 常用命令
```bash
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看状态
docker-compose ps
# 清理重建
docker-compose down -v
docker-compose up -d --build
# 查看 Caddy 日志
docker-compose logs caddy
```
## Caddy 优势
- **自动 HTTPS**: 自动申请和续期 Let's Encrypt 证书
- **零配置 SSL**: 无需手动管理证书文件
- **HTTP/2 & HTTP/3**: 默认启用现代协议
- **简洁配置**: Caddyfile 语法简单易懂
## 故障排查
### 证书申请失败
确保:
1. 域名已正确解析到服务器 IP
2. 服务器 80 和 443 端口已开放
3. 域名已完成 ICP 备案
### 查看证书状态
```bash
docker-compose exec caddy caddy list-certificates
```