| |
| |
| |
| |
| |
| |
|
|
| |
| FROM node:20-slim AS web-build |
| WORKDIR /app |
| |
| COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ |
| COPY apps/web/package.json apps/web/package.json |
| COPY packages/ packages/ |
| RUN corepack enable && pnpm install --frozen-lockfile |
| |
| COPY apps/web apps/web |
| COPY tsconfig.base.json . |
| RUN cd apps/web && pnpm build |
|
|
| |
| FROM node:20-slim |
| WORKDIR /app |
|
|
| |
| |
| |
| RUN apt-get update && apt-get install -y --no-install-recommends python3 python3-pip python3-venv \ |
| && rm -rf /var/lib/apt/lists/* |
| RUN python3 -m venv /opt/jambuddy-venv |
| ENV JAM_BUDDY_PYTHON=/opt/jambuddy-venv/bin/python |
|
|
| |
| COPY --from=web-build /app/apps/web/.next apps/web/.next |
| COPY --from=web-build /app/apps/web/package.json apps/web/package.json |
| COPY --from=web-build /app/apps/web/node_modules apps/web/node_modules |
| COPY --from=web-build /app/node_modules node_modules |
| COPY --from=web-build /app/packages packages |
| COPY apps/web/next.config.mjs apps/web/next.config.mjs |
| |
| COPY tools tools |
| COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ |
|
|
| |
| RUN /opt/jambuddy-venv/bin/pip install --no-cache-dir requests mido librosa scipy soundfile numpy |
|
|
| |
| ENV PORT=7860 |
| WORKDIR /app/apps/web |
| EXPOSE 7860 |
| CMD ["node", "node_modules/next/dist/bin/next", "start", "-p", "7860"] |
|
|