From 1231ca2895913b37d71ee0ef99a05806a8b059a9 Mon Sep 17 00:00:00 2001 From: mtvpls Date: Sun, 31 May 2026 16:10:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Ddocker=E7=BC=BA=E5=B0=91?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E9=81=A5=E6=8E=A7=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 4 ++++ Dockerfile.lite | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Dockerfile b/Dockerfile index 4b04780..3453178 100644 --- a/Dockerfile +++ b/Dockerfile @@ -57,6 +57,10 @@ COPY --from=builder --chown=nextjs:nodejs /app/migrations ./migrations COPY --from=builder --chown=nextjs:nodejs /app/start.js ./start.js # 从构建器中复制自定义 server.js(包含 Socket.IO 支持) COPY --from=builder --chown=nextjs:nodejs /app/server.js ./server.js +# 自定义 server.js 在运行时会 require('./src/lib/tv-remote-hub.js')。 +# Next standalone 只会追踪 Next 应用入口,不会自动包含自定义服务器额外 require 的源文件, +# 因此需要显式复制该运行时模块,避免生产镜像启动时报 Cannot find module。 +COPY --from=builder --chown=nextjs:nodejs /app/src/lib/tv-remote-hub.js ./src/lib/tv-remote-hub.js # 从构建器中复制 public 和 .next/static 目录 COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static diff --git a/Dockerfile.lite b/Dockerfile.lite index 85088d7..4c997c4 100644 --- a/Dockerfile.lite +++ b/Dockerfile.lite @@ -42,6 +42,8 @@ ENV WATCH_ROOM_SERVER_TYPE=external COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/scripts ./scripts COPY --from=builder --chown=nextjs:nodejs /app/start.js ./start.js +# 保持与完整镜像一致:如果运行时 server.js 引用了电视遥控 hub,确保该模块存在。 +COPY --from=builder --chown=nextjs:nodejs /app/src/lib/tv-remote-hub.js ./src/lib/tv-remote-hub.js COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static