Skip to content

Commit d598eae

Browse files
committed
Rewrite to 24 node, rename worklow
1 parent aca0ee5 commit d598eae

File tree

4 files changed

+39
-47
lines changed

4 files changed

+39
-47
lines changed

Dockerfile

Lines changed: 17 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,26 @@
1-
FROM node:20-bullseye-slim
1+
FROM node:24-bookworm-slim
22

3+
# Install chromium and fonts
34
RUN apt-get update && apt-get install -y \
4-
ca-certificates \
5-
fonts-liberation \
6-
libasound2 \
7-
libatk-bridge2.0-0 \
8-
libatk1.0-0 \
9-
libc6 \
10-
libcairo2 \
11-
libcups2 \
12-
libdbus-1-3 \
13-
libexpat1 \
14-
libfontconfig1 \
15-
libgbm1 \
16-
libgcc1 \
17-
libglib2.0-0 \
18-
libgtk-3-0 \
19-
libnspr4 \
20-
libnss3 \
21-
libpango-1.0-0 \
22-
libpangocairo-1.0-0 \
23-
libstdc++6 \
24-
libx11-6 \
25-
libx11-xcb1 \
26-
libxcb1 \
27-
libxcomposite1 \
28-
libxcursor1 \
29-
libxdamage1 \
30-
libxext6 \
31-
libxfixes3 \
32-
libxi6 \
33-
libxrandr2 \
34-
libxrender1 \
35-
libxshmfence1 \
36-
libxtst6 \
37-
lsb-release \
38-
wget \
39-
xdg-utils \
405
chromium \
41-
--no-install-recommends && rm -rf /var/lib/apt/lists/*
6+
fonts-freefont-ttf \
7+
--no-install-recommends \
8+
&& rm -rf /var/lib/apt/lists/*
429

10+
# Set path to chromium
11+
ENV CHROME_BIN=/usr/bin/chromium \
12+
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
13+
NODE_ENV=production
4314

4415
WORKDIR /app
45-
RUN npm install prerender prerender-memory-cache
16+
17+
COPY package.json ./
18+
RUN npm install --omit=dev && npm cache clean --force
4619

4720
COPY server.js .
4821

49-
CMD ["node", "server.js"]
22+
EXPOSE 3000
23+
24+
USER node
25+
26+
CMD ["node", "server.js"]

package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "module",
3+
"dependencies": {
4+
"prerender": "^5.21.0",
5+
"prerender-memory-cache": "^1.0.0"
6+
}
7+
}

server.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
1-
const prerender = require('prerender');
2-
process.env.CACHE_MAXSIZE = process.env.CACHE_MAXSIZE || 1000;
3-
process.env.CACHE_TTL = process.env.CACHE_TTL || 43200;
1+
import prerender from 'prerender';
2+
import memoryCache from 'prerender-memory-cache';
43

54
const server = prerender({
65
chromeLocation: '/usr/bin/chromium',
7-
chromeFlags: ['--no-sandbox', '--headless', '--disable-gpu', '--remote-debugging-port=9222', '--hide-scrollbars']
6+
chromeFlags: [
7+
'--no-sandbox',
8+
'--headless=new',
9+
'--disable-gpu',
10+
'--remote-debugging-port=9222',
11+
'--hide-scrollbars',
12+
'--disable-dev-shm-usage'
13+
]
814
});
915

10-
server.use(require('prerender-memory-cache'))
16+
process.env.CACHE_MAXSIZE = process.env.CACHE_MAXSIZE || 1000;
17+
process.env.CACHE_TTL = process.env.CACHE_TTL || 43200;
1118

12-
console.log(`Prerender start`);
19+
server.use(memoryCache);
1320

14-
server.start();
21+
console.log('Prerender on Node 24 is starting...');
22+
server.start();

0 commit comments

Comments
 (0)