46 lines
1000 B
Docker
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
|