k-l-lambda commited on
Commit
1f609d0
·
1 Parent(s): e5bc874

Debug: restore Node server with startup wrapper

Browse files
Files changed (1) hide show
  1. Dockerfile +34 -5
Dockerfile CHANGED
@@ -2,19 +2,48 @@ FROM node:20-slim
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive
4
 
5
- # Build timestamp: 2026-01-13T02:30
6
 
7
  WORKDIR /app
8
 
9
- # Minimal test - just serve static files with Python
10
- RUN apt-get update && apt-get install -y python3 && rm -rf /var/lib/apt/lists/*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  # Copy frontend dist
13
  COPY trigo-web/app/dist/ ./app/dist/
14
 
 
 
 
 
15
  ENV PORT=7860
 
 
16
 
17
  EXPOSE 7860
18
 
19
- # Test with simple Python HTTP server
20
- CMD cd app/dist && python3 -m http.server 7860
 
 
 
 
 
 
 
 
 
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive
4
 
5
+ # Build timestamp: 2026-01-13T02:45
6
 
7
  WORKDIR /app
8
 
9
+ # Install esbuild globally
10
+ RUN npm install -g esbuild
11
+
12
+ # Copy backend package.json and install deps at root level
13
+ COPY trigo-web/backend/package.json ./package.json
14
+ RUN npm install --omit=dev
15
+
16
+ # Copy backend source and build
17
+ RUN mkdir -p backend backend/dist/backend/src
18
+ COPY trigo-web/backend/src/ ./backend/src/
19
+
20
+ # Copy inc folder (needed for esbuild)
21
+ COPY trigo-web/inc/ ./inc/
22
+
23
+ RUN esbuild backend/src/server.ts --bundle --platform=node --target=node20 --format=esm \
24
+ --outfile=backend/dist/backend/src/server.js \
25
+ --external:express --external:socket.io --external:cors --external:dotenv --external:uuid
26
 
27
  # Copy frontend dist
28
  COPY trigo-web/app/dist/ ./app/dist/
29
 
30
+ # Copy env files
31
+ COPY trigo-web/backend/.env ./backend/.env
32
+ COPY trigo-web/backend/.env.local ./backend/.env.local
33
+
34
  ENV PORT=7860
35
+ ENV HOST=0.0.0.0
36
+ ENV NODE_ENV=production
37
 
38
  EXPOSE 7860
39
 
40
+ # Create a wrapper script to catch errors
41
+ RUN echo '#!/bin/sh' > /start.sh && \
42
+ echo 'echo "Starting server..."' >> /start.sh && \
43
+ echo 'node --version' >> /start.sh && \
44
+ echo 'pwd' >> /start.sh && \
45
+ echo 'ls -la backend/dist/backend/src/server.js' >> /start.sh && \
46
+ echo 'exec node backend/dist/backend/src/server.js' >> /start.sh && \
47
+ chmod +x /start.sh
48
+
49
+ CMD ["/start.sh"]