Spaces:
Running
Running
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>
- 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-
|
| 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 |
-
|
| 39 |
-
|
| 40 |
-
|
| 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
|