ARG NODE_VERSION=node:16.14.2-alpine # 1 - INSTALL FROM $NODE_VERSION AS install RUN mkdir -p /app WORKDIR /app COPY package.json . COPY package-lock.json . COPY .env . RUN npm ci # 2 - CONFIGURE FROM install AS configure COPY . . COPY .env . RUN sed -i "s|sqlite|postgresql|g" prisma/schema.prisma RUN source .env && sed -i "s|DATABASE_URL=.*|DATABASE_URL=postgresql://$NAME_DB:$PASSWORD_DB@evilspins-db/$NAME_DB?schema=public|g" .env # avoid conflict with nuxt build: RUN sed -i "s|PORT=.*||g" .env RUN npm run build # 3 - PRODUCTION FROM $NODE_VERSION AS production WORKDIR /app COPY --from=install /app/node_modules /app/node_modules COPY --from=configure /app /app RUN cp /app/.env /app/.output/server/ ENV NUXT_HOST=0.0.0.0 ARG NUXT_APP_VERSION ENV NUXT_APP_VERSION=${NUXT_APP_VERSION} ENV NODE_ENV=production CMD source .env && npx prisma db push && node .output/server/index.mjs