andrewmclagan/react-env

Docker Error: EACCES: permission denied, open '/app/public/__ENV.js

Closed this issue · 1 comments

When running docker image I am getting an error while generating __ENV.js:

Error: EACCES: permission denied, open '/app/public/__ENV.js'

Screenshot 2021-12-10 at 17 01 26

Dockerfile:

FROM node:16-alpine AS runner
WORKDIR /app

ENV NODE_ENV production

RUN addgroup -g 1001 -S nodejs
RUN adduser -S nextjs -u 1001

# You only need to copy next.config.js if you are NOT using the default configuration
COPY --from=builder /app/next.config.js ./
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./package.json

USER nextjs

EXPOSE 3000

# Next.js collects completely anonymous telemetry data about general usage.
# Learn more here: https://nextjs.org/telemetry
# Uncomment the following line in case you want to disable telemetry.
ENV NEXT_TELEMETRY_DISABLED 1

CMD ["yarn", "start"]

Possibly because I am not running docker on root user, which is recommended.

COPY --from=builder --chown=nextjs:nodejs /app/public ./public

changing /public ownership has fixed the problem