FreeLLMAPI / Dockerfile
javaeeduke's picture
Update Dockerfile
ddb09f2 verified
Raw
History Blame
1.14 kB
FROM node:20-slim AS builder
WORKDIR /app
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/tashfeenahmed/freellmapi.git .
RUN npm install
RUN npm run build
# --- 生产运行环境 ---
FROM node:20-slim AS runner
WORKDIR /app
COPY --from=builder /app ./
RUN mkdir -p /data/freellm
# 1. 前端静态路由修复
RUN cp -r client/dist/* server/dist/public/ 2>/dev/null || cp -r client/dist/* server/public/ 2>/dev/null || true
# 2. 注入基础配置
# ... 前面保持你的代码不变 ...
# 2. 注入基础配置
EXPOSE 7860
ENV PORT=7860
# 💡 核心修改:移除 production,开启 DEV_MODE 绕过报错
ENV DEV_MODE=true
ENV DATABASE_URL="file:/data/database.sqlite"
# 3. 【无损看门狗】代码保持你原本的逻辑不变 ...
RUN echo "import fs from 'fs';" > security.js && \
# ...(中间省略你的 watchdog 写入逻辑)...
echo "}" >> security.js
# 💡 核心修改:在启动服务之前,利用 prisma 自动在你的持久化路径同步创建数据库表结构
CMD npx prisma db push --schema=server/prisma/schema.prisma && npm run dev