一键部署方案
使用 Docker 和 Docker-compose 部署可以彻底解决 CentOS 环境中 Node.js 版本和依赖编译的问题。
以下是为您定制的一键部署方案,包含 Dockerfile、docker-compose.yml 以及一个一键执行的 Shell 脚本。
1. 准备配置文件
请在服务器的任意空目录(例如 /opt/deepseek-harness-docker)中创建以下三个文件:
📄 文件一:Dockerfile
用于将前端及打包环境容器化。
dockerfile
# 构建阶段
FROM node:18-alpine AS builder
WORKDIR /app
RUN npm install -g pnpm
COPY . .
RUN pnpm install && pnpm build
# 运行阶段
FROM node:18-alpine AS runner
WORKDIR /app
RUN npm install -g pnpm
COPY --from=builder /app /app
EXPOSE 7860
ENV HOST=0.0.0.0
ENV PORT=7860
ENV NODE_ENV=production
CMD ["pnpm", "start"]
请谨慎使用此类代码。
📄 文件二:docker-compose.yml
定义容器的运行参数及端口映射。
yaml
version: '3.8'
services:
deepseek-harness:
build:
context: .
dockerfile: Dockerfile
container_name: deepseek-harness
restart: always
ports:
- "7860:7860"
environment:
- HOST=0.0.0.0
- PORT=7860
- NODE_ENV=production
请谨慎使用此类代码。
📄 文件三:deploy.sh(一键运行脚本)
包含自动检测并安装 Docker 环境、拉取源码、编译并启动的核心逻辑。
bash
#!/bin/bash
set -e
# 请在此处替换为真正的 DeepSeek Harness 仓库地址
REPO_URL="<DeepSeek-Harness仓库地址>"
WORK_DIR=$(pwd)
echo "=== 1. 检查并安装 Docker & Docker Compose ==="
if ! command -v docker &> /dev/null; then
echo "未检测到 Docker,开始安装..."
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://docker.com
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
fi
if ! command -v docker-compose &> /dev/null; then
echo "未检测到 Docker Compose,开始安装..."
sudo curl -L "https://github.com(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
fi
echo "=== 2. 克隆/更新源码 ==="
if [ ! -d "src_code" ]; then
git clone "$REPO_URL" src_code
else
echo "源码目录已存在,正在拉取最新代码..."
cd src_code && git pull && cd ..
fi
echo "=== 3. 复制 Docker 配置文件 ==="
cp Dockerfile src_code/
cp docker-compose.yml src_code/
echo "=== 4. 启动容器构建与运行 ==="
cd src_code
docker-compose up -d --build
echo "=== 5. 配置防火墙放行 7860 端口 ==="
if command -v firewall-cmd &> /dev/null; then
sudo firewall-cmd --zone=public --add-port=7860/tcp --permanent || true
sudo firewall-cmd --reload || true
fi
echo "============================================="
echo "🎉 部署完成!"
echo "您可以尝试访问:http://<您的服务器IP>:7860"
echo "查看运行日志命令:docker-compose logs -f"
echo "============================================="
请谨慎使用此类代码。
2. 使用方法
将上述三个文件放至同一个目录下。
打开
deploy.sh,将其中的<DeepSeek-Harness仓库地址>替换为您实际的 Git 仓库 URL。给脚本赋予执行权限并运行:
bash
chmod +x deploy.sh ./deploy.sh请谨慎使用此类代码。
3. 常用运维命令
后续管理该容器时,请进入 src_code 目录下执行:
查看运行日志:
docker-compose logs -f停止服务:
docker-compose down重新启动:
docker-compose restart更新代码并重新编译:直接再次运行
./deploy.sh即可自动拉取最新代码并静默完成热重构。
如果需要进一步完善该方案,请告诉我:
该 Harness 项目是否需要连接 Redis 或 PostgreSQL 等外部数据库(我可以将其一并编入
docker-compose.yml中)?是否需要为其配置 Nginx 反向代理和 SSL 证书 以支持安全的
https://访问?