|
FROM node:20 AS build
|
|
|
|
# 添加 git,以便之后能从GitHub克隆项目
|
|
RUN apt install git
|
|
|
|
# 从 GitHub 克隆项目到 /app 目录下
|
|
RUN git clone https:
|
|
COPY ./logo.png /app/web/src/assets/logo.png
|
|
COPY ./logo.png /app/web/src/public/favicon.ico
|
|
COPY ./home.vue /app/web/src/pages/home.vue
|
|
COPY ./toolbar.vue /app/web/src/components/toolbar.vue
|
|
COPY ./constant.ts /app/backend/constant.ts
|
|
COPY ./app.ts /app/backend/app.ts
|
|
|
|
WORKDIR /app
|
|
RUN yarn install && yarn add axios && yarn run build
|
|
|
|
WORKDIR /app/web
|
|
RUN yarn install && yarn run build
|
|
|
|
FROM node:20-alpine
|
|
WORKDIR /app
|
|
|
|
# Install dotenvx
|
|
RUN curl -fsS https:
|
|
|
|
COPY .env /app
|
|
|
|
COPY --from=build /app/dist ./dist
|
|
COPY --from=build /app/backend ./backend
|
|
COPY --from=build /app/web/build ./web/build
|
|
COPY --from=build /app/package.json ./
|
|
|
|
# RUN yarn config set registry https:
|
|
RUN yarn install --production && yarn cache clean
|
|
|
|
EXPOSE 3000
|
|
CMD yarn run start |