refactor: 优化缓存目录配置和Dockerfile结构

修改缓存目录配置以支持环境变量覆盖,简化Dockerfile并优化镜像构建步骤
移除冗余权限设置,使用更精简的基础镜像
This commit is contained in:
2026-01-06 19:22:22 +08:00
parent f51e50ec23
commit 745c8cf29b
3 changed files with 8 additions and 22 deletions

View File

@@ -1,34 +1,20 @@
FROM mcr.microsoft.com/devcontainers/javascript-node:22
FROM node:22-slim
# Install ffmpeg for video thumbnail support
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg \
&& rm -rf /var/lib/apt/lists/*
ENV NODE_ENV=production
ENV CACHE_DIR=/app/.cache
WORKDIR /app
# Use Corepack to activate pnpm from package.json's packageManager field
COPY package.json ./
RUN corepack enable && pnpm --version && pnpm install --prod
# Copy application sources
# 只复制必要源代码,避免把缓存等无关内容塞进镜像
COPY . .
# Run as non-root for security
RUN chown -R node:node /app
USER node
RUN useradd -m appuser && mkdir -p /app/.cache && chown -R appuser:appuser /app
USER appuser
# 定义.cache目录. 支持用户自定义
ENV CACHE_DIR=/app/.cache
# 确保.cache目录存在
RUN mkdir -p $CACHE_DIR && chown -R node:node $CACHE_DIR
# 确保.cache目录可写
RUN chmod -R 777 $CACHE_DIR
# index listens on 9520
EXPOSE 9520
# Default command
CMD ["node", "index.js"]
CMD ["node", "index.js"]