k-l-lambda commited on
Commit
cb658ec
·
1 Parent(s): 48fe432

Test: simple Express ESM server to verify module resolution

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -25
Dockerfile CHANGED
@@ -2,42 +2,28 @@ FROM node:20-slim
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive
4
 
5
- # Build timestamp: 2026-01-13T03:05
6
 
7
  WORKDIR /app
8
 
9
- # Install esbuild globally
10
- RUN npm install -g esbuild
11
-
12
- # Copy backend package.json and install deps for bundling
13
  COPY trigo-web/backend/package.json ./package.json
14
- RUN npm install
15
-
16
- # Copy backend source
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
- # Bundle EVERYTHING into one file (no external deps)
24
- RUN esbuild backend/src/server.ts --bundle --platform=node --target=node20 --format=esm \
25
- --outfile=backend/dist/backend/src/server.js
 
 
 
 
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
- # Verify server file
35
- RUN ls -la backend/dist/backend/src/server.js
36
-
37
  ENV PORT=7860
38
- ENV HOST=0.0.0.0
39
  ENV NODE_ENV=production
40
 
41
  EXPOSE 7860
42
 
43
- CMD ["node", "backend/dist/backend/src/server.js"]
 
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive
4
 
5
+ # Build timestamp: 2026-01-13T03:25
6
 
7
  WORKDIR /app
8
 
9
+ # Copy backend package.json and install deps
 
 
 
10
  COPY trigo-web/backend/package.json ./package.json
11
+ RUN npm install --omit=dev
 
 
 
 
 
 
 
12
 
13
+ # Create a simple test server to verify Express works
14
+ RUN echo 'import express from "express"; \
15
+ const app = express(); \
16
+ const port = process.env.PORT || 7860; \
17
+ app.use(express.static("app/dist")); \
18
+ app.get("/health", (req, res) => res.json({status: "ok"})); \
19
+ app.listen(port, "0.0.0.0", () => console.log("Server running on port " + port));' > server.js
20
 
21
  # Copy frontend dist
22
  COPY trigo-web/app/dist/ ./app/dist/
23
 
 
 
 
 
 
 
 
24
  ENV PORT=7860
 
25
  ENV NODE_ENV=production
26
 
27
  EXPOSE 7860
28
 
29
+ CMD ["node", "server.js"]