From a2c0345731cd5d583c238bc19c492a8d4365b172 Mon Sep 17 00:00:00 2001 From: wangyang Date: Fri, 15 May 2026 18:44:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20config.php=20=E6=94=AF=E6=8C=81=20DB=5F?= =?UTF-8?q?PATH=20=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=EF=BC=8C=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E9=83=A8=E7=BD=B2=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - db_path 可通过 DB_PATH 环境变量覆盖,本地默认 server/chat.db - DEPLOY.md 增加 Docker 部署示例和环境变量说明 2026-05-15 --- DEPLOY.md | 37 +++++++++++++++++++++++++++++++++++++ server/src/config.php | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) 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', ];