Dockerfile (883.00 Bytes)
1FROM node:22-alpine AS builder
2ENV PNPM_HOME="/pnpm"
3ENV PATH="$PNPM_HOME:$PATH"
4RUN corepack enable
5
6WORKDIR /app
7
8COPY package.json pnpm-lock.yaml* pnpm-workspace.yaml* ./
9COPY packages/eslint-config/package.json ./packages/eslint-config/
10COPY packages/typescript-config/package.json ./packages/typescript-config/
11COPY apps/sidecar/package.json ./apps/sidecar/
12
13RUN pnpm install --frozen-lockfile
14
15COPY packages/eslint-config/ ./packages/eslint-config/
16COPY packages/typescript-config/ ./packages/typescript-config/
17COPY apps/sidecar/ ./apps/sidecar/
18
19WORKDIR /app/apps/sidecar
20RUN pnpm run build
21
22
23FROM node:22-alpine AS runner
24
25WORKDIR /app
26
27RUN addgroup --system --gid 1001 nodejs
28RUN adduser --system --uid 1001 hono
29
30COPY --from=builder /app/apps/sidecar/dist/index.cjs ./
31COPY --from=builder /app/apps/sidecar/package.json ./
32
33USER hono
34EXPOSE 3000
35
36CMD ["node", "index.cjs"]