Files
zhimingge/docs/DOCKER.md
T
dekun b38b69cb71 Add Baota panel reverse proxy and deployment guide.
Document Docker setup, nginx proxy_buffering for AI streaming, Host header fix, and verification steps; link from README and DOCKER.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 23:04:49 +08:00

100 lines
2.2 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 部署
> 推荐生产部署方式,端口 **3130**
## 前置条件
```bash
# Ubuntu 安装 Docker
apt update
apt install -y docker.io docker-compose-v2
systemctl enable docker --now
docker --version
docker compose version
```
## 首次部署
```bash
cd /opt
git clone https://git.bz121.com/dekun/zhimingge.git zhimingge
cd /opt/zhimingge
# 环境变量(必填 OPENAI_API_KEY
cp .env.example .env.local
nano .env.local
chmod 600 .env.local
# 构建并启动
docker compose build
docker compose up -d
```
访问:`http://服务器IP:3130`
## 日常更新
```bash
cd /opt/zhimingge
bash scripts/docker-deploy.sh
```
或手动:
```bash
git pull origin main
docker compose build
docker compose up -d
```
## 常用命令
```bash
docker compose ps # 状态
docker compose logs -f zhimingge # 日志
docker compose restart zhimingge # 重启
docker compose down # 停止并删除容器
docker compose up -d --build # 重建并启动
```
## 环境变量
通过 `.env.local` 注入容器(见 `docker-compose.yml``env_file`):
| 变量 | 必填 | 说明 |
|------|------|------|
| `OPENAI_API_KEY` | 是 | AI 接口密钥 |
| `OPENAI_BASE_URL` | 否 | 默认 `https://op.bz121.com/v1` |
| `OPENAI_MODEL` | 否 | 默认 `huihui_ai/gemma-4-abliterated:e4b` |
| `PORT` | 否 | 容器内 3130 |
## 防火墙
```bash
ufw allow 3130
# 或使用 Nginx / 宝塔 反代 80/443 → 3130(推荐,不必对公网开放 3130)
```
域名与 AI 流式反代完整说明见 [BAOTA.md](./BAOTA.md)。
## 从 PM2 迁移
```bash
pm2 stop zhimingge
pm2 delete zhimingge
cd /opt/zhimingge
docker compose up -d --build
```
## 排错
| 现象 | 处理 |
|------|------|
| 构建慢 / 超时 | Dockerfile 使用 `.npmrc` 国内镜像;重试 `docker compose build` |
| 容器反复重启 | `docker compose logs zhimingge` 查看报错 |
| AI 失败 | 检查 `.env.local``OPENAI_API_KEY``docker exec zhimingge printenv OPENAI_API_KEY` |
| 页面 AI 空白、curl 本地正常 | Nginx/宝塔未关缓冲或未反代域名,见 [BAOTA.md](./BAOTA.md) |
| 卦辞 404 | 确认镜像内 `/app/content/zhouyi/docs` 存在 |
构建在镜像内完成,**无需**在宿主机单独 `npm install` / `npm run build`