Internes Project-Management-Tool für ToolCTRL — ergänzend zu Plane (Tickets) und Outline (Doku). Umfasst Puls-Übersicht, Tagesrhythmus (Lock-in + Reflexion), Bereichs-Detail-Views (Entwicklung/Vertrieb/Marketing), Pflicht-Minimum-Check und Blocker-Lifecycle gemäß Projektmanagement-Leitfaden v3.0. Stack: pnpm-Monorepo · Vite + React 18 + Tailwind · Fastify + tRPC v11 + Drizzle ORM · Postgres 16 · Authentik OIDC (Phase 2, Dev-Auto-Login aktiv). Planungs-Artefakte unter _bmad-output/planning-artifacts/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
38 lines
1.1 KiB
Docker
38 lines
1.1 KiB
Docker
# --- builder ---
|
|
FROM node:22-alpine AS builder
|
|
WORKDIR /repo
|
|
|
|
RUN corepack enable && corepack prepare pnpm@10.28.0 --activate
|
|
|
|
COPY pnpm-workspace.yaml package.json pnpm-lock.yaml tsconfig.base.json ./
|
|
COPY apps/api/package.json ./apps/api/
|
|
COPY packages/db/package.json ./packages/db/
|
|
COPY packages/shared/package.json ./packages/shared/
|
|
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
COPY apps/api ./apps/api
|
|
COPY packages/db ./packages/db
|
|
COPY packages/shared ./packages/shared
|
|
|
|
RUN pnpm --filter api build
|
|
|
|
# --- runtime ---
|
|
FROM node:22-alpine AS runtime
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
|
|
RUN corepack enable && corepack prepare pnpm@10.28.0 --activate
|
|
|
|
COPY --from=builder /repo/pnpm-workspace.yaml /repo/package.json /repo/pnpm-lock.yaml ./
|
|
COPY --from=builder /repo/apps/api/package.json ./apps/api/
|
|
COPY --from=builder /repo/packages/db ./packages/db
|
|
COPY --from=builder /repo/packages/shared ./packages/shared
|
|
COPY --from=builder /repo/apps/api/dist ./apps/api/dist
|
|
|
|
RUN pnpm install --frozen-lockfile --prod
|
|
|
|
EXPOSE 3000
|
|
WORKDIR /app/apps/api
|
|
CMD ["node", "dist/server.js"]
|