diff --git a/packages/ai-service/Dockerfile b/packages/ai-service/Dockerfile index 5be8676..56c2d6c 100644 --- a/packages/ai-service/Dockerfile +++ b/packages/ai-service/Dockerfile @@ -1,5 +1,5 @@ # ---- Build Stage ---- -FROM mcr.microsoft.com/cbl-mariner/base/python:3.12 AS builder +FROM mcr.microsoft.com/azurelinux/base/python:3.12 AS builder WORKDIR /app COPY packages/ai-service/requirements.txt . @@ -11,13 +11,15 @@ RUN pip install --no-cache-dir \ --target=/deps -r requirements.txt # ---- Production Stage ---- -FROM mcr.microsoft.com/cbl-mariner/base/python:3.12 AS production +FROM mcr.microsoft.com/azurelinux/base/python:3.12 AS production WORKDIR /app +# wget for the HEALTHCHECK; shadow-utils provides groupadd/useradd (not in the base image) +RUN tdnf install -y wget shadow-utils && tdnf clean all RUN groupadd -r agentbase && useradd -r -g agentbase -s /sbin/nologin -M agentbase -RUN tdnf install -y wget -COPY --from=builder /deps /usr/local/lib/python3.12/site-packages +# Azure Linux's system interpreter resolves /usr/lib/python3.12/site-packages on sys.path +COPY --from=builder /deps /usr/lib/python3.12/site-packages COPY packages/ai-service/app ./app USER agentbase diff --git a/packages/core/Dockerfile b/packages/core/Dockerfile index 77b4858..b43a6a4 100644 --- a/packages/core/Dockerfile +++ b/packages/core/Dockerfile @@ -1,5 +1,5 @@ # ---- Build Stage ---- -FROM mcr.microsoft.com/cbl-mariner/base/nodejs:20 AS builder +FROM mcr.microsoft.com/azurelinux/base/nodejs:20 AS builder WORKDIR /app # Install pnpm @@ -28,11 +28,12 @@ WORKDIR /app/packages/core RUN npx nest build # ---- Production Stage ---- -FROM mcr.microsoft.com/cbl-mariner/base/nodejs:20 AS production +FROM mcr.microsoft.com/azurelinux/base/nodejs:20 AS production WORKDIR /app RUN corepack enable && corepack prepare pnpm@9 --activate -RUN tdnf install -y wget +# wget for the HEALTHCHECK; shadow-utils provides groupadd/useradd (not in the base image) +RUN tdnf install -y wget shadow-utils && tdnf clean all # Copy built app COPY --from=builder /app/packages/core/dist ./dist diff --git a/packages/frontend/Dockerfile b/packages/frontend/Dockerfile index 25b9f07..6da6fc0 100644 --- a/packages/frontend/Dockerfile +++ b/packages/frontend/Dockerfile @@ -1,5 +1,5 @@ # ---- Build Stage ---- -FROM mcr.microsoft.com/cbl-mariner/base/nodejs:20 AS builder +FROM mcr.microsoft.com/azurelinux/base/nodejs:20 AS builder WORKDIR /app RUN corepack enable && corepack prepare pnpm@9 --activate @@ -30,10 +30,11 @@ ENV NEXT_PUBLIC_AI_URL=$NEXT_PUBLIC_AI_URL RUN npx next build # ---- Production Stage ---- -FROM mcr.microsoft.com/cbl-mariner/base/nodejs:20 AS production +FROM mcr.microsoft.com/azurelinux/base/nodejs:20 AS production WORKDIR /app -RUN tdnf install -y wget +# wget for the HEALTHCHECK; shadow-utils provides groupadd/useradd (not in the base image) +RUN tdnf install -y wget shadow-utils && tdnf clean all COPY --from=builder /app/packages/frontend/.next/standalone ./ COPY --from=builder /app/packages/frontend/.next/static ./.next/static