fix(deploy): include serwist runtime in container
This commit is contained in:
+50
@@ -41,6 +41,56 @@ COPY --from=builder /app/public ./public
|
|||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
||||||
|
|
||||||
|
RUN set -eux; \
|
||||||
|
esbuild_pkg="$(find node_modules/.pnpm -path '*/node_modules/esbuild/package.json' -print -quit)"; \
|
||||||
|
esbuild_binary_pkg="$(find node_modules/.pnpm -path '*/node_modules/@esbuild/linux-*/package.json' -print -quit)"; \
|
||||||
|
idb_pkg="$(find node_modules/.pnpm -path '*/node_modules/idb/package.json' -print -quit)"; \
|
||||||
|
serwist_pkg="$(find node_modules/.pnpm -path '*/node_modules/serwist/package.json' -print -quit)"; \
|
||||||
|
serwist_turbopack_pkg="$(find node_modules/.pnpm -path '*/node_modules/@serwist/turbopack/package.json' -print -quit)"; \
|
||||||
|
serwist_utils_pkg="$(find node_modules/.pnpm -path '*/node_modules/@serwist/utils/package.json' -print -quit)"; \
|
||||||
|
if [ -n "$esbuild_pkg" ] && [ -n "$esbuild_binary_pkg" ]; then \
|
||||||
|
esbuild_pkg="${esbuild_pkg%/package.json}"; \
|
||||||
|
esbuild_binary_pkg="${esbuild_binary_pkg%/package.json}"; \
|
||||||
|
esbuild_binary_name="$(basename "$esbuild_binary_pkg")"; \
|
||||||
|
rm -rf node_modules/esbuild; \
|
||||||
|
ln -s "/app/$esbuild_pkg" node_modules/esbuild; \
|
||||||
|
mkdir -p node_modules/@esbuild "$esbuild_pkg/node_modules/@esbuild"; \
|
||||||
|
rm -rf "node_modules/@esbuild/$esbuild_binary_name" "$esbuild_pkg/node_modules/@esbuild/$esbuild_binary_name"; \
|
||||||
|
ln -s "/app/$esbuild_binary_pkg" "node_modules/@esbuild/$esbuild_binary_name"; \
|
||||||
|
ln -s "/app/$esbuild_binary_pkg" "$esbuild_pkg/node_modules/@esbuild/$esbuild_binary_name"; \
|
||||||
|
fi; \
|
||||||
|
if [ -n "$serwist_pkg" ]; then \
|
||||||
|
serwist_pkg="${serwist_pkg%/package.json}"; \
|
||||||
|
rm -rf node_modules/serwist; \
|
||||||
|
ln -s "/app/$serwist_pkg" node_modules/serwist; \
|
||||||
|
fi; \
|
||||||
|
if [ -n "$idb_pkg" ]; then \
|
||||||
|
idb_pkg="${idb_pkg%/package.json}"; \
|
||||||
|
rm -rf node_modules/idb; \
|
||||||
|
ln -s "/app/$idb_pkg" node_modules/idb; \
|
||||||
|
if [ -n "$serwist_pkg" ]; then \
|
||||||
|
rm -rf "$serwist_pkg/node_modules/idb"; \
|
||||||
|
ln -s "/app/$idb_pkg" "$serwist_pkg/node_modules/idb"; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
if [ -n "$serwist_turbopack_pkg" ]; then \
|
||||||
|
serwist_turbopack_pkg="${serwist_turbopack_pkg%/package.json}"; \
|
||||||
|
mkdir -p node_modules/@serwist; \
|
||||||
|
rm -rf node_modules/@serwist/turbopack; \
|
||||||
|
ln -s "/app/$serwist_turbopack_pkg" node_modules/@serwist/turbopack; \
|
||||||
|
fi; \
|
||||||
|
if [ -n "$serwist_utils_pkg" ]; then \
|
||||||
|
serwist_utils_pkg="${serwist_utils_pkg%/package.json}"; \
|
||||||
|
mkdir -p node_modules/@serwist; \
|
||||||
|
rm -rf node_modules/@serwist/utils; \
|
||||||
|
ln -s "/app/$serwist_utils_pkg" node_modules/@serwist/utils; \
|
||||||
|
if [ -n "$serwist_pkg" ]; then \
|
||||||
|
mkdir -p "$serwist_pkg/node_modules/@serwist"; \
|
||||||
|
rm -rf "$serwist_pkg/node_modules/@serwist/utils"; \
|
||||||
|
ln -s "/app/$serwist_utils_pkg" "$serwist_pkg/node_modules/@serwist/utils"; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
|
||||||
USER nextjs
|
USER nextjs
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,16 @@ const nextConfig: NextConfig = {
|
|||||||
// 关闭静态优化以规避 16.2.7 global-error prerender bug
|
// 关闭静态优化以规避 16.2.7 global-error prerender bug
|
||||||
staticGenerationRetryCount: 0,
|
staticGenerationRetryCount: 0,
|
||||||
},
|
},
|
||||||
|
outputFileTracingIncludes: {
|
||||||
|
"/serwist/*": [
|
||||||
|
"./src/app/sw.ts",
|
||||||
|
"./node_modules/.pnpm/@serwist+*/node_modules/@serwist/**/*",
|
||||||
|
"./node_modules/.pnpm/idb@*/node_modules/idb/**/*",
|
||||||
|
"./node_modules/.pnpm/serwist@*/node_modules/serwist/**/*",
|
||||||
|
"./node_modules/.pnpm/esbuild@*/node_modules/esbuild/**/*",
|
||||||
|
"./node_modules/.pnpm/@esbuild+linux-*@*/node_modules/@esbuild/linux-*/**/*",
|
||||||
|
],
|
||||||
|
},
|
||||||
images: {
|
images: {
|
||||||
remotePatterns: [
|
remotePatterns: [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user