k-l-lambda Claude commited on
Commit
2488b95
·
1 Parent(s): 574ab36

Fix Dockerfile to copy correct config files

Browse files

- Remove tsconfig.json from app/ (doesn't exist)
- Copy root tsconfig.json instead

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

Files changed (1) hide show
  1. Dockerfile +14 -47
Dockerfile CHANGED
@@ -1,89 +1,56 @@
1
  FROM node:20-slim
2
 
3
- # Set noninteractive installation
4
  ENV DEBIAN_FRONTEND=noninteractive
5
 
6
- # Build timestamp: 2026-01-12T22:45
7
 
8
- # Install build dependencies
9
  RUN apt-get update && apt-get install -y curl git && rm -rf /var/lib/apt/lists/*
10
 
11
  WORKDIR /app
12
 
13
- # Create directories
14
  RUN mkdir -p app backend
15
 
16
- # Copy root package.json
17
  COPY trigo-web/package.json ./package.json
18
  COPY trigo-web/package-lock.json ./package-lock.json
19
-
20
- # Check what we have so far
21
- RUN echo "=== Step 1: Root package.json ===" && ls -la && cat package.json
22
-
23
- # Copy app package.json
24
  COPY trigo-web/app/package.json ./app/package.json
25
  COPY trigo-web/app/package-lock.json ./app/package-lock.json
26
-
27
- # Check app
28
- RUN echo "=== Step 2: App package.json ===" && ls -la app/ && cat app/package.json
29
-
30
- # Copy backend package.json
31
  COPY trigo-web/backend/package.json ./backend/package.json
32
  COPY trigo-web/backend/package-lock.json ./backend/package-lock.json
33
 
34
- # Check backend
35
- RUN echo "=== Step 3: Backend package.json ===" && ls -la backend/ && cat backend/package.json
36
-
37
  # Install build tools
38
  RUN npm install -g tsx jison typescript esbuild
39
 
40
- # Install root deps
41
- RUN echo "=== Step 4: Installing root deps ===" && npm install --omit=dev
42
-
43
- # Install app deps
44
- RUN echo "=== Step 5: Installing app deps ===" && cd app && npm install
45
-
46
- # Install backend deps
47
- RUN echo "=== Step 6: Installing backend deps ===" && cd backend && npm install
48
 
49
  # Copy source files
50
  COPY trigo-web/inc/ ./inc/
51
  COPY trigo-web/app/src/ ./app/src/
52
  COPY trigo-web/app/index.html ./app/
53
  COPY trigo-web/app/vite.config.ts ./app/
54
- COPY trigo-web/app/tsconfig*.json ./app/
55
  COPY trigo-web/backend/src/ ./backend/src/
56
  COPY trigo-web/backend/tsconfig.json ./backend/
57
-
58
- # Check source files
59
- RUN echo "=== Step 7: Source files ===" && ls -la app/src/ && ls -la backend/src/
60
-
61
- # Copy public folder (may have LFS issues)
62
  COPY trigo-web/public/ ./public/
63
- RUN echo "=== Step 8: Public folder ===" && ls -la public/ && du -sh public/
64
 
65
- # Copy env files
66
- COPY trigo-web/.env* ./
67
- COPY trigo-web/app/.env* ./app/
68
- COPY trigo-web/backend/.env* ./backend/
 
69
 
70
  # Build frontend
71
- RUN echo "=== Step 9: Building frontend ===" && \
72
- cd app && \
73
- NODE_OPTIONS="--max-old-space-size=4096" npm run build:prod 2>&1 || \
74
- (echo "VITE BUILD FAILED" && exit 1)
75
-
76
- RUN echo "=== Step 10: Frontend dist ===" && ls -la app/dist/
77
 
78
  # Build backend
79
- RUN echo "=== Step 11: Building backend ===" && \
80
- mkdir -p backend/dist/backend/src && \
81
  esbuild backend/src/server.ts --bundle --platform=node --target=node20 --format=esm \
82
  --outfile=backend/dist/backend/src/server.js \
83
  --external:express --external:socket.io --external:cors --external:dotenv --external:uuid
84
 
85
- RUN echo "=== Step 12: Backend dist ===" && ls -la backend/dist/backend/src/
86
-
87
  # Copy parser
88
  COPY trigo-web/public/lib/tgnParser.cjs ./public/lib/
89
 
 
1
  FROM node:20-slim
2
 
 
3
  ENV DEBIAN_FRONTEND=noninteractive
4
 
5
+ # Build timestamp: 2026-01-12T23:00
6
 
 
7
  RUN apt-get update && apt-get install -y curl git && rm -rf /var/lib/apt/lists/*
8
 
9
  WORKDIR /app
10
 
 
11
  RUN mkdir -p app backend
12
 
13
+ # Copy package files explicitly (no wildcards)
14
  COPY trigo-web/package.json ./package.json
15
  COPY trigo-web/package-lock.json ./package-lock.json
 
 
 
 
 
16
  COPY trigo-web/app/package.json ./app/package.json
17
  COPY trigo-web/app/package-lock.json ./app/package-lock.json
 
 
 
 
 
18
  COPY trigo-web/backend/package.json ./backend/package.json
19
  COPY trigo-web/backend/package-lock.json ./backend/package-lock.json
20
 
 
 
 
21
  # Install build tools
22
  RUN npm install -g tsx jison typescript esbuild
23
 
24
+ # Install deps
25
+ RUN npm install --omit=dev
26
+ RUN cd app && npm install
27
+ RUN cd backend && npm install
 
 
 
 
28
 
29
  # Copy source files
30
  COPY trigo-web/inc/ ./inc/
31
  COPY trigo-web/app/src/ ./app/src/
32
  COPY trigo-web/app/index.html ./app/
33
  COPY trigo-web/app/vite.config.ts ./app/
 
34
  COPY trigo-web/backend/src/ ./backend/src/
35
  COPY trigo-web/backend/tsconfig.json ./backend/
 
 
 
 
 
36
  COPY trigo-web/public/ ./public/
37
+ COPY trigo-web/tsconfig.json ./tsconfig.json
38
 
39
+ # Copy env files (explicit, no wildcards)
40
+ COPY trigo-web/.env ./.env
41
+ COPY trigo-web/app/.env ./app/.env
42
+ COPY trigo-web/backend/.env ./backend/.env
43
+ COPY trigo-web/backend/.env.local ./backend/.env.local
44
 
45
  # Build frontend
46
+ RUN cd app && NODE_OPTIONS="--max-old-space-size=4096" npm run build:prod
 
 
 
 
 
47
 
48
  # Build backend
49
+ RUN mkdir -p backend/dist/backend/src && \
 
50
  esbuild backend/src/server.ts --bundle --platform=node --target=node20 --format=esm \
51
  --outfile=backend/dist/backend/src/server.js \
52
  --external:express --external:socket.io --external:cors --external:dotenv --external:uuid
53
 
 
 
54
  # Copy parser
55
  COPY trigo-web/public/lib/tgnParser.cjs ./public/lib/
56