Skip to main content

apps/gateway/Dockerfile

Metadata

Indexed Symbols

No indexed functions/methods detected in this file.

Markdown Headings (if applicable)

No markdown headings detected.

Source Preview

FROM node:22-alpine AS deps
WORKDIR /app
COPY package.json pnpm-workspace.yaml turbo.json tsconfig.base.json ./
COPY apps/gateway/package.json apps/gateway/package.json
COPY packages/contracts/package.json packages/contracts/package.json
RUN corepack enable && pnpm install --filter @anchor/gateway... --filter @anchor/contracts

FROM node:22-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN corepack enable && pnpm install --filter @anchor/gateway... --filter @anchor/contracts
RUN corepack enable && pnpm build --filter @anchor/contracts --filter @anchor/gateway

FROM node:22-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
RUN addgroup -g 10001 -S anchor && adduser -S -D -H -u 10001 -G anchor anchor
COPY --from=builder /app/apps/gateway/dist ./apps/gateway/dist
COPY --from=builder /app/apps/gateway/package.json ./apps/gateway/package.json
COPY --from=builder /app/apps/gateway/node_modules ./apps/gateway/node_modules
COPY --from=builder /app/packages/contracts ./packages/contracts
COPY --from=builder /app/node_modules ./node_modules
RUN chown -R anchor:anchor /app
USER anchor