fix: switch to node:20-slim for runner to fix persistent image optimization 400 errors
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 11s
Build & Deploy / 🧪 QA (push) Successful in 1m16s
Build & Deploy / 🏗️ Build (push) Successful in 2m57s
Build & Deploy / 🚀 Deploy (push) Successful in 15s
Build & Deploy / 🧪 Post-Deploy Verification (push) Failing after 58s
Build & Deploy / 🔔 Notify (push) Successful in 2s
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 11s
Build & Deploy / 🧪 QA (push) Successful in 1m16s
Build & Deploy / 🏗️ Build (push) Successful in 2m57s
Build & Deploy / 🚀 Deploy (push) Successful in 15s
Build & Deploy / 🧪 Post-Deploy Verification (push) Failing after 58s
Build & Deploy / 🔔 Notify (push) Successful in 2s
This commit is contained in:
17
Dockerfile
17
Dockerfile
@@ -56,15 +56,16 @@ ENV UV_THREADPOOL_SIZE=3
|
|||||||
RUN pnpm build
|
RUN pnpm build
|
||||||
|
|
||||||
# Stage 2: Runner
|
# Stage 2: Runner
|
||||||
FROM node:20-alpine AS runner
|
FROM node:20-slim AS runner
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Install dependencies for sharp and health checks
|
# Install curl for health checks and procps
|
||||||
RUN apk add --no-cache libc6-compat curl
|
RUN apt-get update && apt-get install -y curl procps && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Create nextjs user and group
|
# Create nextjs user and group
|
||||||
RUN addgroup --system --gid 1001 nodejs && \
|
RUN groupadd --system --gid 1001 nodejs && \
|
||||||
adduser --system --uid 1001 nextjs && \
|
useradd --system --uid 1001 nextjs && \
|
||||||
|
mkdir -p .next/cache/images && \
|
||||||
chown -R nextjs:nodejs /app
|
chown -R nextjs:nodejs /app
|
||||||
|
|
||||||
USER nextjs
|
USER nextjs
|
||||||
@@ -72,11 +73,15 @@ USER nextjs
|
|||||||
ENV HOSTNAME="0.0.0.0"
|
ENV HOSTNAME="0.0.0.0"
|
||||||
ENV PORT=3000
|
ENV PORT=3000
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
|
ENV NEXT_SHARP_PATH=/app/node_modules/sharp
|
||||||
|
|
||||||
# Copy standalone output
|
# Copy standalone output
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
|
||||||
# Copy public and static files into the expected locations
|
# Copy public and static files - standalone expects them in specific locations
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/public ./public
|
COPY --from=builder --chown=nextjs:nodejs /app/public ./public
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
||||||
|
|
||||||
|
# Ensure cache directory is writable for the nextjs user
|
||||||
|
# (Already handled by chown -R above, but explicit is better)
|
||||||
|
|
||||||
CMD ["node", "server.js"]
|
CMD ["node", "server.js"]
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
"prepare": "husky",
|
"prepare": "husky",
|
||||||
"preinstall": "npx only-allow pnpm"
|
"preinstall": "npx only-allow pnpm"
|
||||||
},
|
},
|
||||||
"version": "2.3.22-rc.15",
|
"version": "2.3.22-rc.16",
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
"onlyBuiltDependencies": [
|
"onlyBuiltDependencies": [
|
||||||
"@parcel/watcher",
|
"@parcel/watcher",
|
||||||
|
|||||||
Reference in New Issue
Block a user