Plain-JS Next config so the image boots without devDependencies
next start stops to install TypeScript when the config is a .ts file, which in the container meant a yarn install into node_modules on every boot — slow enough that the health check failed before the server answered. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d1e8668440
commit
ece6aab9cf
+2
-2
@@ -52,7 +52,7 @@ RUN mkdir -p /data && chown nextjs:nodejs /data
|
||||
|
||||
COPY --from=proddeps --chown=nextjs:nodejs /app/node_modules ./node_modules
|
||||
COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next
|
||||
COPY --chown=nextjs:nodejs package.json next.config.ts ./
|
||||
COPY --chown=nextjs:nodejs package.json next.config.mjs ./
|
||||
COPY --chown=nextjs:nodejs public ./public
|
||||
# /api/autobuyer/status reads the version out of this manifest and the extension
|
||||
# reloads itself to match, so the folder has to travel with the server.
|
||||
@@ -61,7 +61,7 @@ COPY --chown=nextjs:nodejs extension ./extension
|
||||
USER nextjs
|
||||
EXPOSE 3000
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
|
||||
HEALTHCHECK --interval=15s --timeout=10s --start-period=20s --retries=5 \
|
||||
CMD node -e "fetch('http://127.0.0.1:3000/api/autobuyer/status').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
||||
|
||||
CMD ["npm", "start"]
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
// Plain JS, not TypeScript: `next start` in the production image has no
|
||||
// devDependencies, and a .ts config makes Next stop and install TypeScript —
|
||||
// with yarn, into a read-only-by-intent node_modules — before it will boot.
|
||||
const nextConfig = {
|
||||
serverExternalPackages: ['better-sqlite3'],
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
@@ -1,7 +0,0 @@
|
||||
import type { NextConfig } from "next";
|
||||
|
||||
const nextConfig: NextConfig = {
|
||||
serverExternalPackages: ['better-sqlite3'],
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
Reference in New Issue
Block a user