Kraft102 commited on
Commit
b65f298
·
1 Parent(s): 7c70792

CRITICAL FIX: Correct workspace build order + remove frontend ref

Browse files
Files changed (2) hide show
  1. Dockerfile +9 -38
  2. package.json +0 -1
Dockerfile CHANGED
@@ -1,7 +1,5 @@
1
  # WidgeTDC Backend - Hugging Face Spaces Deployment
2
  # Optimized for HF Docker Spaces (port 7860)
3
- #
4
- # Usage: Copy entire project to HF Space repo, then push
5
 
6
  FROM node:20-slim AS builder
7
 
@@ -17,30 +15,14 @@ RUN apt-get update && apt-get install -y \
17
 
18
  WORKDIR /app
19
 
20
- # Copy package files
21
- COPY package*.json ./
22
- COPY apps/backend/package*.json ./apps/backend/
23
- COPY packages/domain-types/package*.json ./packages/domain-types/
24
- COPY packages/mcp-types/package*.json ./packages/mcp-types/
25
 
26
- # Install dependencies
27
- RUN npm install --include=dev
28
-
29
- # Copy source
30
- COPY packages/ ./packages/
31
- COPY apps/backend/ ./apps/backend/
32
-
33
- # Build packages in order
34
- RUN cd packages/domain-types && npm run build
35
- RUN cd packages/mcp-types && npm run build
36
-
37
- # Generate Prisma client (if schema exists)
38
- RUN if [ -f apps/backend/prisma/schema.prisma ]; then \
39
- cd apps/backend && npx prisma generate; \
40
- fi
41
-
42
- # Build backend
43
- RUN cd apps/backend && npm run build
44
 
45
  # ============================================
46
  # Production stage - minimal footprint
@@ -60,18 +42,9 @@ USER user
60
  WORKDIR /app
61
 
62
  # Copy built artifacts with correct ownership
63
- COPY --from=builder --chown=user /app/package*.json ./
 
64
  COPY --from=builder --chown=user /app/node_modules ./node_modules
65
- COPY --from=builder --chown=user /app/packages/domain-types/dist ./packages/domain-types/dist
66
- COPY --from=builder --chown=user /app/packages/domain-types/package.json ./packages/domain-types/
67
- COPY --from=builder --chown=user /app/packages/mcp-types/dist ./packages/mcp-types/dist
68
- COPY --from=builder --chown=user /app/packages/mcp-types/package.json ./packages/mcp-types/
69
- COPY --from=builder --chown=user /app/apps/backend/dist ./apps/backend/dist
70
- COPY --from=builder --chown=user /app/apps/backend/package.json ./apps/backend/
71
-
72
- # Copy Prisma client if generated
73
- COPY --from=builder --chown=user /app/node_modules/.prisma ./node_modules/.prisma 2>/dev/null || true
74
- COPY --from=builder --chown=user /app/node_modules/@prisma ./node_modules/@prisma 2>/dev/null || true
75
 
76
  # Create data directories (Cloud DropZone)
77
  RUN mkdir -p /app/data/dropzone && \
@@ -89,8 +62,6 @@ ENV HF_SPACE=true
89
  # HF Spaces exposes port 7860
90
  EXPOSE 7860
91
 
92
- WORKDIR /app/apps/backend
93
-
94
  # Health check for HF
95
  HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
96
  CMD node -e "fetch('http://localhost:7860/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"
 
1
  # WidgeTDC Backend - Hugging Face Spaces Deployment
2
  # Optimized for HF Docker Spaces (port 7860)
 
 
3
 
4
  FROM node:20-slim AS builder
5
 
 
15
 
16
  WORKDIR /app
17
 
18
+ # Copy everything at once
19
+ COPY . .
 
 
 
20
 
21
+ # Install and build
22
+ RUN npm ci
23
+ RUN npm run build --workspace=packages/domain-types
24
+ RUN npm run build --workspace=packages/mcp-types
25
+ RUN npm run build --workspace=apps/backend
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  # ============================================
28
  # Production stage - minimal footprint
 
42
  WORKDIR /app
43
 
44
  # Copy built artifacts with correct ownership
45
+ COPY --from=builder --chown=user /app/apps/backend/dist ./dist
46
+ COPY --from=builder --chown=user /app/apps/backend/package*.json ./
47
  COPY --from=builder --chown=user /app/node_modules ./node_modules
 
 
 
 
 
 
 
 
 
 
48
 
49
  # Create data directories (Cloud DropZone)
50
  RUN mkdir -p /app/data/dropzone && \
 
62
  # HF Spaces exposes port 7860
63
  EXPOSE 7860
64
 
 
 
65
  # Health check for HF
66
  HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
67
  CMD node -e "fetch('http://localhost:7860/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"
package.json CHANGED
@@ -5,7 +5,6 @@
5
  "private": true,
6
  "workspaces": [
7
  "apps/backend",
8
- "apps/matrix-frontend",
9
  "packages/*"
10
  ],
11
  "scripts": {
 
5
  "private": true,
6
  "workspaces": [
7
  "apps/backend",
 
8
  "packages/*"
9
  ],
10
  "scripts": {