diff --git a/DEPLOY.md b/DEPLOY.md index 18e6cb6..e324b9b 100644 --- a/DEPLOY.md +++ b/DEPLOY.md @@ -84,6 +84,43 @@ zlib.output_compression = Off chmod 666 /www/chat-app/chat.db ``` +## Docker 部署(推荐) + +### docker-compose.yml 示例 + +```yaml +version: '3.8' + +services: + nginx: + image: nginx:alpine + ports: + - "80:80" + volumes: + - ./dist:/var/www/dist:ro + - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro + depends_on: + - php + + php: + image: php:8.3-fpm + volumes: + - ./server:/var/www/html + - /data:/data # 数据库挂载到独立目录,避免权限问题 + environment: + - DB_PATH=/data/chat.db # 通过环境变量覆盖数据库路径 + - JWT_SECRET=your-secret # 生产环境务必修改 + - CHAT_PASSWORD=your-pass # 生产环境务必修改 +``` + +### 环境变量说明 + +| 变量 | 默认值 | 说明 | +|------|--------|------| +| `DB_PATH` | `server/chat.db` | SQLite 数据库路径,建议挂载到独立目录 | +| `JWT_SECRET` | `chat-terminal-secret-key-change-in-production` | JWT 签名密钥,**生产环境必须修改** | +| `CHAT_PASSWORD` | `admin` | 登录密码,**生产环境必须修改** | + ## 简化版:PHP 内置服务器(仅测试) ```bash diff --git a/server/src/config.php b/server/src/config.php index c09d329..456f7d3 100644 --- a/server/src/config.php +++ b/server/src/config.php @@ -1,6 +1,6 @@ __DIR__ . '/../chat.db', + 'db_path' => getenv('DB_PATH') ?: __DIR__ . '/../chat.db', 'jwt_secret' => getenv('JWT_SECRET') ?: 'chat-terminal-secret-key-change-in-production', 'password' => getenv('CHAT_PASSWORD') ?: 'admin', ];