diff --git a/Dockerfile b/Dockerfile index 272d53d49a86d..bec5cb8de1b83 100644 --- a/Dockerfile +++ b/Dockerfile @@ -99,25 +99,22 @@ FROM busybox:latest AS app COPY --from=base /distroless/ / -# Automatically leverage output traces to reduce image size -# https://nextjs.org/docs/advanced-features/output-file-tracing -COPY --from=builder /app/.next/standalone /app/ - -# Copy server launcher -COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js - RUN \ # Add nextjs:nodejs to run the app addgroup -S -g 1001 nodejs \ && adduser -D -G nodejs -H -S -h /app -u 1001 nextjs \ # Set permission for nextjs:nodejs - && chown -R nextjs:nodejs /app /etc/proxychains4.conf + && chown nextjs:nodejs /etc/proxychains4.conf -## Production image, copy all the files and run next -FROM scratch +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone /app/ -# Copy all the files from app, set the correct permission for prerender cache -COPY --from=app / / +# Copy server launcher +COPY --from=builder --chown=nextjs:nodejs /app/scripts/serverLauncher/startServer.js /app/startServer.js + +## Production image, copy all the files and run next +FROM app ENV NODE_ENV="production" \ NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \ diff --git a/Dockerfile.database b/Dockerfile.database index abd9108d4462f..cbf253a3d0d23 100644 --- a/Dockerfile.database +++ b/Dockerfile.database @@ -113,35 +113,32 @@ FROM busybox:latest AS app COPY --from=base /distroless/ / +RUN \ + # Add nextjs:nodejs to run the app + addgroup -S -g 1001 nodejs \ + && adduser -D -G nodejs -H -S -h /app -u 1001 nextjs \ + # Set permission for nextjs:nodejs + && chown nextjs:nodejs /etc/proxychains4.conf + # Automatically leverage output traces to reduce image size # https://nextjs.org/docs/advanced-features/output-file-tracing -COPY --from=builder /app/.next/standalone /app/ +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone /app/ # Copy database migrations -COPY --from=builder /app/src/database/migrations /app/migrations -COPY --from=builder /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs -COPY --from=builder /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js +COPY --from=builder --chown=nextjs:nodejs /app/src/database/migrations /app/migrations +COPY --from=builder --chown=nextjs:nodejs /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs +COPY --from=builder --chown=nextjs:nodejs /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js # copy dependencies -COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm -COPY --from=builder /deps/node_modules/pg /app/node_modules/pg -COPY --from=builder /deps/node_modules/drizzle-orm /app/node_modules/drizzle-orm +COPY --from=builder --chown=nextjs:nodejs /deps/node_modules/.pnpm /app/node_modules/.pnpm +COPY --from=builder --chown=nextjs:nodejs /deps/node_modules/pg /app/node_modules/pg +COPY --from=builder --chown=nextjs:nodejs /deps/node_modules/drizzle-orm /app/node_modules/drizzle-orm # Copy server launcher -COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js - -RUN \ - # Add nextjs:nodejs to run the app - addgroup -S -g 1001 nodejs \ - && adduser -D -G nodejs -H -S -h /app -u 1001 nextjs \ - # Set permission for nextjs:nodejs - && chown -R nextjs:nodejs /app /etc/proxychains4.conf +COPY --from=builder --chown=nextjs:nodejs /app/scripts/serverLauncher/startServer.js /app/startServer.js ## Production image, copy all the files and run next -FROM scratch - -# Copy all the files from app, set the correct permission for prerender cache -COPY --from=app / / +FROM app ENV NODE_ENV="production" \ NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \ diff --git a/Dockerfile.pglite b/Dockerfile.pglite index d694cea6eaac7..fe5c6059f8855 100644 --- a/Dockerfile.pglite +++ b/Dockerfile.pglite @@ -100,25 +100,22 @@ FROM busybox:latest AS app COPY --from=base /distroless/ / -# Automatically leverage output traces to reduce image size -# https://nextjs.org/docs/advanced-features/output-file-tracing -COPY --from=builder /app/.next/standalone /app/ - -# Copy server launcher -COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js - RUN \ # Add nextjs:nodejs to run the app addgroup -S -g 1001 nodejs \ && adduser -D -G nodejs -H -S -h /app -u 1001 nextjs \ # Set permission for nextjs:nodejs - && chown -R nextjs:nodejs /app /etc/proxychains4.conf + && chown nextjs:nodejs /etc/proxychains4.conf -## Production image, copy all the files and run next -FROM scratch +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone /app/ -# Copy all the files from app, set the correct permission for prerender cache -COPY --from=app / / +# Copy server launcher +COPY --from=builder --chown=nextjs:nodejs /app/scripts/serverLauncher/startServer.js /app/startServer.js + +## Production image, copy all the files and run next +FROM app ENV NODE_ENV="production" \ NODE_OPTIONS="--dns-result-order=ipv4first --use-openssl-ca" \