Files
alist-proxy/Dockerfile

34 lines
804 B
Docker

FROM mcr.microsoft.com/devcontainers/javascript-node:22
# 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
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
# 定义.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"]