| |
| |
| FROM --platform=$BUILDPLATFORM python:alpine AS base |
| WORKDIR /app |
| COPY requirements.txt . |
| RUN pip install -r requirements.txt |
|
|
| FROM --platform=$BUILDPLATFORM node:18-alpine AS app-base |
| WORKDIR /app |
| COPY app/package.json app/yarn.lock ./ |
| COPY app/spec ./spec |
| COPY app/src ./src |
|
|
| |
| FROM app-base AS test |
| RUN yarn install |
| RUN yarn test |
|
|
| |
| FROM app-base AS app-zip-creator |
| COPY --from=test /app/package.json /app/yarn.lock ./ |
| COPY app/spec ./spec |
| COPY app/src ./src |
| RUN apk add zip && \ |
| zip -r /app.zip /app |
|
|
| |
| FROM --platform=$BUILDPLATFORM base AS dev |
| CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"] |
|
|
| |
| FROM --platform=$BUILDPLATFORM base AS build |
| COPY . . |
| RUN mkdocs build |
|
|
| |
| |
| FROM --platform=$TARGETPLATFORM nginx:alpine |
| COPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zip |
| COPY --from=build /app/site /usr/share/nginx/html |
|
|