ARG NODE_ENV=development ARG HOST=localhost ARG PORT=3000 FROM node:18-alpine as build RUN apk update && apk upgrade # Create application directory WORKDIR /app # Copy package files to the application directory and install dependencies COPY package* ./ RUN npm install # Copy everything else from the project COPY . ./ RUN npm run build FROM node:18-alpine as production RUN apk update && apk upgrade && apk add dumb-init && adduser -D nuxt # Set non-root user USER nuxt # Set working directory WORKDIR /opt/index COPY --chown=nuxt:nuxt --from=build /app/.output ./ # Expose the listening port EXPOSE ${PORT} # Set Nitro variables and run the application # https://go.enderman.ch/vws4k ENV HOST=${HOST} PORT=${PORT} NODE_ENV=${NODE_ENV} CMD ["dumb-init", "node", "/opt/index/server/index.mjs"]