feat: content engine usw
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
FROM node:20.18-bookworm-slim AS base
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential \
|
||||
python3 \
|
||||
libcairo2-dev \
|
||||
libpango1.0-dev \
|
||||
libjpeg-dev \
|
||||
libgif-dev \
|
||||
librsvg2-dev \
|
||||
libexpat1 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
RUN npm install -g pnpm@10.30.1
|
||||
|
||||
FROM base AS build
|
||||
@@ -13,14 +23,17 @@ RUN pnpm --filter image-service build
|
||||
|
||||
FROM base
|
||||
WORKDIR /app
|
||||
COPY --from=build /app/node_modules ./node_modules
|
||||
COPY --from=build /app/apps/image-service/node_modules ./apps/image-service/node_modules
|
||||
COPY --from=build /app/packages/image-processor/node_modules ./packages/image-processor/node_modules
|
||||
RUN mkdir -p /app/apps/image-service/dist
|
||||
# Instead of copying node_modules which contains native C++ bindings for canvas and tfjs-node,
|
||||
# we copy the package.json files and install natively in the final stage so the bindings are correct.
|
||||
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml ./
|
||||
COPY apps/image-service/package.json ./apps/image-service/package.json
|
||||
COPY packages/image-processor/package.json ./packages/image-processor/package.json
|
||||
|
||||
RUN pnpm install --frozen-lockfile --filter image-service...
|
||||
|
||||
COPY --from=build /app/apps/image-service/dist ./apps/image-service/dist
|
||||
COPY --from=build /app/apps/image-service/package.json ./apps/image-service/package.json
|
||||
COPY --from=build /app/packages/image-processor/dist ./packages/image-processor/dist
|
||||
COPY --from=build /app/packages/image-processor/package.json ./packages/image-processor/package.json
|
||||
COPY --from=build /app/packages/image-processor/models ./packages/image-processor/models
|
||||
|
||||
EXPOSE 8080
|
||||
WORKDIR /app/apps/image-service
|
||||
|
||||
@@ -56,7 +56,6 @@ async function handleProcessing(url: string, options: any, reply: any) {
|
||||
height,
|
||||
format,
|
||||
quality,
|
||||
openRouterApiKey: process.env.OPENROUTER_API_KEY,
|
||||
});
|
||||
|
||||
reply.header("Content-Type", `image/${format}`);
|
||||
|
||||
Reference in New Issue
Block a user