# syntax=docker/dockerfile:experimental # build frontend FROM node:19-alpine as frontend ARG API_HOST ARG USE_API_HOST=yes ARG EMBED_UI=yes ARG USE_DIST=no WORKDIR /web COPY web/ ./ RUN [ $EMBED_UI != yes ] || [ $USE_API_HOST != yes ] || echo "VITE_HOST='$API_HOST'">.env.local RUN [ $EMBED_UI != yes ] || [ $USE_DIST != no ] || (yarn && yarn build) RUN [ $EMBED_UI = yes ] || mkdir dist || echo "" # build backend FROM bitbus/paopao-ce-backend-builder:latest AS backend ARG API_HOST ARG USE_API_HOST=yes ARG EMBED_UI=yes ARG USE_DIST=no WORKDIR /paopao-ce COPY . . COPY --from=frontend /web/dist ./web/dist ENV GOPROXY=https://goproxy.cn RUN [ $EMBED_UI != yes ] || make build TAGS='go_json migration' RUN [ $EMBED_UI = yes ] || make build TAGS='slim embed go_json migration' FROM bitbus/paopao-ce-allinone-runner:latest ARG API_HOST ARG USE_API_HOST=yes ARG EMBED_UI=yes ARG USE_DIST=no ENV TZ=Asia/Shanghai WORKDIR /app COPY --from=backend /paopao-ce/release/paopao .