stremio/deploy/docker/Dockerfile.master-api
Jos Vooges | STH a5c6fd5fe4 Initial commit: Distributed Stremio Media Cluster V1
Master API, Admin UI, Go media-node, Docker/Dokploy deploy configs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 00:17:04 +02:00

34 lines
1.2 KiB
Text

FROM node:20-alpine AS base
RUN corepack enable && corepack prepare pnpm@9.15.4 --activate
WORKDIR /app
FROM base AS deps
COPY package.json pnpm-workspace.yaml ./
COPY apps/master-api/package.json ./apps/master-api/
COPY packages/shared-types/package.json ./packages/shared-types/
COPY packages/protocol/package.json ./packages/protocol/
RUN pnpm install --no-frozen-lockfile
FROM base AS builder
COPY --from=deps /app/node_modules ./node_modules
COPY --from=deps /app/apps ./apps
COPY --from=deps /app/packages ./packages
COPY package.json pnpm-workspace.yaml ./
COPY packages ./packages
COPY apps/master-api ./apps/master-api
RUN pnpm --filter @media-cluster/shared-types build \
&& pnpm --filter @media-cluster/protocol build
WORKDIR /app/apps/master-api
RUN pnpm exec prisma generate && pnpm build
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
RUN apk add --no-cache openssl wget
COPY --from=builder /app/apps/master-api/dist ./dist
COPY --from=builder /app/apps/master-api/package.json ./package.json
COPY --from=builder /app/apps/master-api/prisma ./prisma
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/packages ./packages
EXPOSE 3000
CMD ["sh", "-c", "npx prisma migrate deploy && node dist/app.js"]