Skip to content

Commit 03727af

Browse files
committed
fix: Docker build for production deploy
- Fix rollup native binary: explicit @rollup/rollup-linux-x64-gnu install - Fix pagefind binary: explicit @pagefind/linux-x64 install - Fix healthcheck: use 127.0.0.1 instead of localhost (IPv6 issue) - Switch to node:20 full image for pagefind compatibility - Add pagefind as explicit site dependency
1 parent 27d47d5 commit 03727af

12 files changed

Lines changed: 2655 additions & 3 deletions

config/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM node:20-slim AS deps
3+
FROM node:20 AS deps
44
WORKDIR /app
55
COPY package*.json ./
66
COPY packages/core/package.json packages/core/
@@ -10,7 +10,7 @@ COPY packages/server/package.json packages/server/
1010
COPY packages/demo/package.json packages/demo/
1111
COPY packages/site/package.json packages/site/
1212
RUN --mount=type=cache,target=/root/.npm \
13-
npm ci --ignore-scripts
13+
npm ci && npm install @rollup/rollup-linux-x64-gnu @pagefind/linux-x64 --no-save
1414

1515
FROM deps AS build
1616
COPY packages/core/ packages/core/
@@ -27,4 +27,4 @@ COPY config/nginx.conf /etc/nginx/conf.d/default.conf
2727
COPY --from=build /app/packages/site/dist /usr/share/nginx/html
2828
COPY --from=build /app/packages/demo/dist /usr/share/nginx/html/demo
2929
EXPOSE 80
30-
HEALTHCHECK --interval=10s --timeout=3s CMD wget -qO- http://localhost/ || exit 1
30+
HEALTHCHECK --interval=10s --timeout=3s CMD wget -qO- http://127.0.0.1/ || exit 1
Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
=== Log Started: 2026-03-01T23:10:16.519Z ===
2+
Loading .deploy-config.json
3+
🛠️ Deploying witqq-spreadsheet...
4+
bash: line 0: cd: /opt/witqq-spreadsheet: No such file or directory
5+
Creating archive from ....
6+
📤 Uploading witqq-spreadsheet (13.9 MB)...
7+
📤 witqq-spreadsheet: 10%
8+
📤 witqq-spreadsheet: 20%
9+
📤 witqq-spreadsheet: 30%
10+
📤 witqq-spreadsheet: 40%
11+
📤 witqq-spreadsheet: 50%
12+
📤 witqq-spreadsheet: 60%
13+
📤 witqq-spreadsheet: 70%
14+
📤 witqq-spreadsheet: 80%
15+
📤 witqq-spreadsheet: 90%
16+
📤 witqq-spreadsheet: 100%
17+
Extracting archive on server...
18+
🚀 Starting witqq-spreadsheet...
19+
(container logs in log file)
20+
#0 building with "default" instance using docker driver
21+
22+
#1 [witqq-spreadsheet internal] load build definition from Dockerfile
23+
#1 transferring dockerfile: 1.14kB done
24+
#1 DONE 0.1s
25+
26+
#2 [witqq-spreadsheet] resolve image config for docker-image://docker.io/docker/dockerfile:1
27+
#2 DONE 1.2s
28+
29+
#3 [witqq-spreadsheet] docker-image://docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6
30+
#3 resolve docker.io/docker/dockerfile:1@sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 0.0s done
31+
#3 sha256:b6afd42430b15f2d2a4c5a02b919e98a525b785b1aaff16747d2f623364e39b6 8.40kB / 8.40kB done
32+
#3 sha256:62b0eac4b38b65f257ba2525a1bc87978b5e339d6133b5daef1bde40fe7aa10f 850B / 850B done
33+
#3 sha256:6742480c08d7878bbb82a5f5b55d7cb17c5dea60d2068cb2bd37994f3a5c680e 1.33kB / 1.33kB done
34+
#3 sha256:77246a01651da592b7bae79e0e20ed3b4f2e4c00a1b54b7c921c91ae3fa9ef07 0B / 13.57MB 0.1s
35+
#3 sha256:77246a01651da592b7bae79e0e20ed3b4f2e4c00a1b54b7c921c91ae3fa9ef07 11.53MB / 13.57MB 0.2s
36+
#3 sha256:77246a01651da592b7bae79e0e20ed3b4f2e4c00a1b54b7c921c91ae3fa9ef07 13.57MB / 13.57MB 0.3s done
37+
#3 extracting sha256:77246a01651da592b7bae79e0e20ed3b4f2e4c00a1b54b7c921c91ae3fa9ef07 0.1s
38+
#3 extracting sha256:77246a01651da592b7bae79e0e20ed3b4f2e4c00a1b54b7c921c91ae3fa9ef07 0.4s done
39+
#3 DONE 0.9s
40+
41+
#1 [witqq-spreadsheet internal] load build definition from Dockerfile
42+
#1 transferring dockerfile: 1.14kB done
43+
#1 DONE 0.1s
44+
45+
#4 [witqq-spreadsheet internal] load build definition from Dockerfile
46+
#4 DONE 0.0s
47+
48+
#5 [witqq-spreadsheet internal] load metadata for docker.io/library/nginx:alpine
49+
#5 DONE 0.0s
50+
51+
#6 [witqq-spreadsheet internal] load metadata for docker.io/library/node:20-slim
52+
#6 DONE 0.4s
53+
54+
#7 [witqq-spreadsheet internal] load .dockerignore
55+
#7 transferring context: 153B 0.0s done
56+
#7 DONE 0.0s
57+
58+
#8 [witqq-spreadsheet stage-2 1/4] FROM docker.io/library/nginx:alpine
59+
#8 CACHED
60+
61+
#9 [witqq-spreadsheet deps 1/10] FROM docker.io/library/node:20-slim@sha256:d8a35d586fad3af7abb6fdb9ba972388395405f4d462da9e4a4ddcde67b5e0fb
62+
#9 resolve docker.io/library/node:20-slim@sha256:d8a35d586fad3af7abb6fdb9ba972388395405f4d462da9e4a4ddcde67b5e0fb 0.1s done
63+
#9 DONE 0.1s
64+
65+
#10 [witqq-spreadsheet deps 2/10] WORKDIR /app
66+
#10 CACHED
67+
68+
#11 [witqq-spreadsheet internal] load build context
69+
#11 transferring context: 4.68MB 0.4s done
70+
#11 DONE 0.4s
71+
72+
#12 [witqq-spreadsheet stage-2 2/4] COPY config/nginx.conf /etc/nginx/conf.d/default.conf
73+
#12 ...
74+
75+
#13 [witqq-spreadsheet deps 3/10] COPY package*.json ./
76+
#13 DONE 0.2s
77+
78+
#12 [witqq-spreadsheet stage-2 2/4] COPY config/nginx.conf /etc/nginx/conf.d/default.conf
79+
#12 DONE 0.2s
80+
81+
#14 [witqq-spreadsheet deps 4/10] COPY packages/core/package.json packages/core/
82+
#14 DONE 0.1s
83+
84+
#15 [witqq-spreadsheet deps 5/10] COPY packages/react/package.json packages/react/
85+
#15 DONE 0.1s
86+
87+
#16 [witqq-spreadsheet deps 6/10] COPY packages/plugins/package.json packages/plugins/
88+
#16 DONE 0.1s
89+
90+
#17 [witqq-spreadsheet deps 7/10] COPY packages/server/package.json packages/server/
91+
#17 DONE 0.1s
92+
93+
#18 [witqq-spreadsheet deps 8/10] COPY packages/demo/package.json packages/demo/
94+
#18 DONE 0.1s
95+
96+
#19 [witqq-spreadsheet deps 9/10] COPY packages/site/package.json packages/site/
97+
#19 DONE 0.1s
98+
99+
#20 [witqq-spreadsheet deps 10/10] RUN --mount=type=cache,target=/root/.npm npm ci --ignore-scripts
100+
#20 50.53
101+
#20 50.53 added 699 packages, and audited 709 packages in 49s
102+
#20 50.53
103+
#20 50.53 267 packages are looking for funding
104+
#20 50.53 run `npm fund` for details
105+
#20 50.60
106+
#20 50.60 9 vulnerabilities (6 moderate, 3 high)
107+
#20 50.60
108+
#20 50.60 To address all issues, run:
109+
#20 50.60 npm audit fix
110+
#20 50.60
111+
#20 50.60 Run `npm audit` for details.
112+
#20 50.61 npm notice
113+
#20 50.61 npm notice New major version of npm available! 10.8.2 -> 11.11.0
114+
#20 50.61 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.11.0
115+
#20 50.61 npm notice To update run: npm install -g npm@11.11.0
116+
#20 50.61 npm notice
117+
#20 DONE 50.9s
118+
119+
#21 [witqq-spreadsheet build 1/8] COPY packages/core/ packages/core/
120+
#21 DONE 0.4s
121+
122+
#22 [witqq-spreadsheet build 2/8] COPY packages/react/ packages/react/
123+
#22 DONE 0.1s
124+
125+
#23 [witqq-spreadsheet build 3/8] COPY packages/plugins/ packages/plugins/
126+
#23 DONE 0.1s
127+
128+
#24 [witqq-spreadsheet build 4/8] COPY packages/server/ packages/server/
129+
#24 DONE 0.1s
130+
131+
#25 [witqq-spreadsheet build 5/8] COPY packages/demo/ packages/demo/
132+
#25 DONE 0.1s
133+
134+
#26 [witqq-spreadsheet build 6/8] COPY packages/site/ packages/site/
135+
#26 DONE 0.2s
136+
137+
#27 [witqq-spreadsheet build 7/8] COPY tsconfig*.json ./
138+
#27 DONE 0.1s
139+
140+
#28 [witqq-spreadsheet build 8/8] RUN npm run build && npm run build -w packages/demo && npm run build -w packages/site
141+
#28 2.656
142+
#28 2.656 > build
143+
#28 2.656 > npm run build -w packages/core && npm run build -w packages/react && npm run build -w packages/plugins
144+
#28 2.656
145+
#28 3.119
146+
#28 3.119 > @witqq/spreadsheet@0.1.0 build
147+
#28 3.119 > vite build
148+
#28 3.119
149+
#28 3.565 /app/node_modules/rollup/dist/native.js:115
150+
#28 3.565 throw new Error(
151+
#28 3.565 ^
152+
#28 3.565
153+
#28 3.565 Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.
154+
#28 3.565 at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:115:9)
155+
#28 3.565 at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:124:76)
156+
#28 3.565 ... 3 lines matching cause stack trace ...
157+
#28 3.565 at Module._load (node:internal/modules/cjs/loader:1091:12)
158+
#28 3.565 at cjsLoader (node:internal/modules/esm/translators:298:15)
159+
#28 3.565 at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:240:7)
160+
#28 3.565 at ModuleJob.run (node:internal/modules/esm/module_job:325:25)
161+
#28 3.565 at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) {
162+
#28 3.565 [cause]: Error: Cannot find module '@rollup/rollup-linux-x64-gnu'
163+
#28 3.565 Require stack:
164+
#28 3.565 - /app/node_modules/rollup/dist/native.js
165+
#28 3.565 at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15)
166+
#28 3.565 at Module._load (node:internal/modules/cjs/loader:1038:27)
167+
#28 3.565 at Module.require (node:internal/modules/cjs/loader:1289:19)
168+
#28 3.565 at require (node:internal/modules/helpers:182:18)
169+
#28 3.565 at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:97:10)
170+
#28 3.565 at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:124:76)
171+
#28 3.565 at Module._compile (node:internal/modules/cjs/loader:1521:14)
172+
#28 3.565 at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
173+
#28 3.565 at Module.load (node:internal/modules/cjs/loader:1266:32)
174+
#28 3.565 at Module._load (node:internal/modules/cjs/loader:1091:12) {
175+
#28 3.565 code: 'MODULE_NOT_FOUND',
176+
#28 3.565 requireStack: [ '/app/node_modules/rollup/dist/native.js' ]
177+
#28 3.565 }
178+
#28 3.565 }
179+
#28 3.565
180+
#28 3.565 Node.js v20.20.0
181+
#28 3.581 npm error Lifecycle script `build` failed with error:
182+
#28 3.582 npm error code 1
183+
#28 3.582 npm error path /app/packages/core
184+
#28 3.583 npm error workspace @witqq/spreadsheet@0.1.0
185+
#28 3.589 npm error location /app/packages/core
186+
#28 3.589 npm error command failed
187+
#28 3.589 npm error command sh -c vite build
188+
#28 3.607 npm notice
189+
#28 3.607 npm notice New major version of npm available! 10.8.2 -> 11.11.0
190+
#28 3.607 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.11.0
191+
#28 3.607 npm notice To update run: npm install -g npm@11.11.0
192+
#28 3.607 npm notice
193+
#28 ERROR: process "/bin/sh -c npm run build && npm run build -w packages/demo && npm run build -w packages/site" did not complete successfully: exit code: 1
194+
------
195+
> [witqq-spreadsheet build 8/8] RUN npm run build && npm run build -w packages/demo && npm run build -w packages/site:
196+
3.582 npm error path /app/packages/core
197+
3.583 npm error workspace @witqq/spreadsheet@0.1.0
198+
3.589 npm error location /app/packages/core
199+
3.589 npm error command failed
200+
3.589 npm error command sh -c vite build
201+
3.607 npm notice
202+
3.607 npm notice New major version of npm available! 10.8.2 -> 11.11.0
203+
3.607 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.11.0
204+
3.607 npm notice To update run: npm install -g npm@11.11.0
205+
3.607 npm notice
206+
------
207+
failed to solve: process "/bin/sh -c npm run build && npm run build -w packages/demo && npm run build -w packages/site" did not complete successfully: exit code: 1
208+
✅ witqq-spreadsheet deployed in 74.5s
209+
Log: deploy-logs/deploy-log-2026-03-01T23-10-16.txt
210+
211+
=== Log Finished: 2026-03-01T23:11:31.044Z ===

0 commit comments

Comments
 (0)