k-l-lambda Claude commited on
Commit
9563838
·
1 Parent(s): be5c8a6

Fix: correct esbuild output path and remove redundant COPY step

Browse files

- Output backend build to dist/backend/src/server.js to match package.json
- ONNX files are already in pre-built dist, no need to copy separately

Co-Authored-By: Claude <noreply@anthropic.com>

Files changed (1) hide show
  1. Dockerfile +6 -10
Dockerfile CHANGED
@@ -3,7 +3,7 @@ FROM node:20-slim
3
  # Set noninteractive installation
4
  ENV DEBIAN_FRONTEND=noninteractive
5
 
6
- # Build timestamp to force cache invalidation: 2026-01-12T19:50
7
 
8
  # Install build dependencies
9
  RUN apt-get update && apt-get install -y \
@@ -14,12 +14,9 @@ RUN apt-get update && apt-get install -y \
14
  # Create app directory
15
  WORKDIR /app
16
 
17
- # Copy trigo-web project (includes pre-built app/dist)
18
  COPY trigo-web/ ./
19
 
20
- # Remove large ONNX files from public (already in dist)
21
- RUN rm -rf public/onnx
22
-
23
  # Install build tools globally
24
  RUN npm install -g tsx jison typescript esbuild
25
 
@@ -32,13 +29,12 @@ RUN npm install --omit=dev && \
32
  cd ..
33
 
34
  # Skip jison parser build - pre-built tgnParser.cjs is already in public/lib/
35
- # Skip vite build - pre-built dist is already included
36
 
37
  # Build backend with esbuild (handles ESM imports without .js extensions)
38
- RUN esbuild backend/src/server.ts --bundle --platform=node --target=node20 --format=esm --outfile=backend/dist/server.js --external:express --external:socket.io --external:cors --external:dotenv --external:uuid
39
-
40
- # Copy ONNX files to dist (they don't need to be in public anymore)
41
- COPY trigo-web/public/onnx/ ./app/dist/onnx/
42
 
43
  # Set environment variables for Hugging Face Spaces
44
  ENV PORT=7860
 
3
  # Set noninteractive installation
4
  ENV DEBIAN_FRONTEND=noninteractive
5
 
6
+ # Build timestamp to force cache invalidation: 2026-01-12T20:00
7
 
8
  # Install build dependencies
9
  RUN apt-get update && apt-get install -y \
 
14
  # Create app directory
15
  WORKDIR /app
16
 
17
+ # Copy trigo-web project (includes pre-built app/dist with onnx files)
18
  COPY trigo-web/ ./
19
 
 
 
 
20
  # Install build tools globally
21
  RUN npm install -g tsx jison typescript esbuild
22
 
 
29
  cd ..
30
 
31
  # Skip jison parser build - pre-built tgnParser.cjs is already in public/lib/
32
+ # Skip vite build - pre-built dist is already included (with onnx files)
33
 
34
  # Build backend with esbuild (handles ESM imports without .js extensions)
35
+ # Output to dist/backend/src/ to match backend/package.json main field
36
+ RUN mkdir -p backend/dist/backend/src && \
37
+ esbuild backend/src/server.ts --bundle --platform=node --target=node20 --format=esm --outfile=backend/dist/backend/src/server.js --external:express --external:socket.io --external:cors --external:dotenv --external:uuid
 
38
 
39
  # Set environment variables for Hugging Face Spaces
40
  ENV PORT=7860