dashersupply/Dockerfile

46 lines
1000 B
Docker

FROM node:lts AS core
WORKDIR /opt/app
FROM core AS base
#COPY package.json package-lock.json ./
#workaround: https://github.com/npm/cli/issues/4828
RUN apt update && apt upgrade -y
RUN npm install -g npm@latest
RUN npm install -g pnpm
COPY package.json package-lock.json .yarnrc.yml ./
#FROM base AS prod-deps
#RUN pnpm install --fix-lockfile
#RUN pnpm install --lockfile-only
#RUN pnpm install --prod
#RUN npm install --omit=dev
FROM base AS build-deps
RUN pnpm install --fix-lockfile
RUN pnpm install --lockfile-only
RUN pnpm install
#RUN npm install
FROM build-deps AS copy
COPY . .
FROM copy AS build
RUN pnpm run astro build
# RUN npm run build
#RUN npm run-script astro build
FROM base AS runtime
#COPY --from=prod-deps /opt/app/node_modules ./node_modules
COPY --from=build-deps /opt/app/node_modules ./node_modules
COPY --from=copy /opt/app .
COPY --from=build /opt/app/dist ./dist
ENV HOST=0.0.0.0
ENV PORT=4321
ENV WEBHOOK_PORT=3210
EXPOSE 4321 3210
CMD pnpm run server
#CMD bash