fitjourney-server / Dockerfile
Norcoo's picture
Fix Dockerfile: use node:18-slim instead of alpine for libsql compatibility
be495a0
# 使用官方 Node.js 镜像(不用 alpine,因为 libsql 需要 glibc)
FROM node:18-slim
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 package-lock.json
COPY package*.json ./
# 安装依赖(包括生产依赖)
RUN npm ci --only=production
# 复制项目文件
COPY . .
# 创建必要的目录并设置权限
# /data 是 Huggingface Spaces 的持久化存储目录
RUN mkdir -p /data/database /app/public/qrcodes && \
chmod -R 777 /data /app/public/qrcodes
# 暴露端口(Hugging Face Spaces 会自动映射)
EXPOSE 7860
# 设置环境变量(Hugging Face Spaces 使用 7860 端口)
ENV PORT=7860
ENV NODE_ENV=production
ENV DB_PATH=/data/database/fitjourney.db
# 启动应用
CMD ["node", "server.js"]