diff --git a/Dockerfile b/Dockerfile index 3453178..8412147 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,6 +46,7 @@ ENV HOSTNAME=0.0.0.0 ENV PORT=3000 ENV DOCKER_ENV=true ENV SQLITE_DB_PATH=/app/.data/moontv.db +ENV OFFLINE_DOWNLOAD_DIR=/data # 从构建器中复制 standalone 输出 COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ @@ -68,8 +69,9 @@ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static # 从构建器中复制生产依赖(包含 Socket.IO / better-sqlite3) COPY --from=builder --chown=nextjs:nodejs /tmp/prod-deps/node_modules ./node_modules -# 准备 SQLite 数据目录 -RUN mkdir -p /app/.data && chown -R nextjs:nodejs /app/.data +# 准备 SQLite 数据目录和默认离线下载目录 +RUN mkdir -p /app/.data "$OFFLINE_DOWNLOAD_DIR" \ + && chown -R nextjs:nodejs /app/.data "$OFFLINE_DOWNLOAD_DIR" # 切换到非特权用户 USER nextjs diff --git a/Dockerfile.lite b/Dockerfile.lite index 4c997c4..58b949c 100644 --- a/Dockerfile.lite +++ b/Dockerfile.lite @@ -21,6 +21,7 @@ ENV DOCKER_ENV=true ENV MOONTV_LITE=true ENV WATCH_ROOM_ENABLED=false ENV WATCH_ROOM_SERVER_TYPE=external +ENV OFFLINE_DOWNLOAD_DIR=/data RUN pnpm run build @@ -47,6 +48,9 @@ COPY --from=builder --chown=nextjs:nodejs /app/src/lib/tv-remote-hub.js ./src/li COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static +# 准备默认离线下载目录 +RUN mkdir -p "$OFFLINE_DOWNLOAD_DIR" && chown -R nextjs:nodejs "$OFFLINE_DOWNLOAD_DIR" + USER nextjs EXPOSE 3000