mirror of
https://github.com/imputnet/cobalt.git
synced 2025-07-14 09:18:26 +00:00
Add web interface to build
This commit is contained in:
parent
c48c64240b
commit
8da6ccdc7c
29
Dockerfile
29
Dockerfile
@ -6,21 +6,38 @@ FROM base AS build
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY . /app
|
COPY . /app
|
||||||
|
|
||||||
RUN corepack enable
|
RUN corepack enable && pnpm add -g serve
|
||||||
RUN apk add --no-cache python3 alpine-sdk
|
RUN apk add --no-cache python3 alpine-sdk
|
||||||
|
|
||||||
|
# Build backend (cobalt-api)
|
||||||
|
FROM build AS build-api
|
||||||
|
WORKDIR /app
|
||||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
|
||||||
pnpm install --prod --frozen-lockfile
|
pnpm install --prod --frozen-lockfile
|
||||||
|
|
||||||
RUN pnpm deploy --filter=@imput/cobalt-api --prod /prod/api
|
RUN pnpm deploy --filter=@imput/cobalt-api --prod /prod/api
|
||||||
|
|
||||||
FROM base AS api
|
# Build frontend (cobalt-web)
|
||||||
|
FROM build AS build-web
|
||||||
|
WORKDIR /app/web
|
||||||
|
RUN --mount=type=cache,id=pnpm-web,target=/pnpm/store \
|
||||||
|
pnpm install --prod=false --frozen-lockfile
|
||||||
|
ARG WEB_HOST
|
||||||
|
ARG WEB_DEFAULT_API
|
||||||
|
ENV WEB_HOST=${WEB_HOST}
|
||||||
|
ENV WEB_DEFAULT_API=${WEB_DEFAULT_API}
|
||||||
|
RUN pnpm run build
|
||||||
|
|
||||||
|
# Merge api+web results
|
||||||
|
FROM base AS final
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY --from=build --chown=node:node /prod/api /app
|
RUN apk add --no-cache python3
|
||||||
COPY --from=build --chown=node:node /app/.git /app/.git
|
COPY --from=build-api --chown=node:node /prod/api /app
|
||||||
|
COPY --from=build-web --chown=node:node /app/web /app/web
|
||||||
|
COPY .git /app/.git
|
||||||
|
|
||||||
USER node
|
USER node
|
||||||
|
|
||||||
EXPOSE 9000
|
EXPOSE 9000
|
||||||
CMD [ "node", "src/cobalt" ]
|
EXPOSE 9001
|
||||||
|
CMD [ "sh", "-c", "python3 -m http.server 9001 --directory /app/web/build & node src/cobalt" ]
|
Loading…
Reference in New Issue
Block a user