fix: ARM Chromium support, Dockerfile improvements, ESM build fix
This commit is contained in:
parent
6896b72e0c
commit
facb8df8f4
2 changed files with 10 additions and 8 deletions
14
Dockerfile
14
Dockerfile
|
|
@ -1,19 +1,19 @@
|
||||||
FROM node:22-slim
|
FROM node:22-bookworm-slim
|
||||||
|
|
||||||
# Chrome deps
|
# Install Chromium (works on ARM and x86)
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
libatk1.0-0t64 libatk-bridge2.0-0t64 libcups2t64 libdrm2 \
|
chromium fonts-liberation \
|
||||||
libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
|
|
||||||
libgbm1 libpango-1.0-0 libpangocairo-1.0-0 libcairo2 \
|
|
||||||
libasound2t64 libnspr4 libnss3 fonts-liberation \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||||
|
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
RUN npm ci --omit=dev
|
RUN npm ci --omit=dev
|
||||||
COPY dist/ dist/
|
COPY dist/ dist/
|
||||||
|
COPY public/ public/
|
||||||
|
|
||||||
ENV PORT=3100
|
ENV PORT=3100
|
||||||
EXPOSE 3100
|
EXPOSE 3100
|
||||||
USER node
|
|
||||||
CMD ["node", "dist/index.js"]
|
CMD ["node", "dist/index.js"]
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,11 @@ import puppeteer, { Browser, Page } from "puppeteer";
|
||||||
let browser: Browser | null = null;
|
let browser: Browser | null = null;
|
||||||
|
|
||||||
export async function initBrowser(): Promise<void> {
|
export async function initBrowser(): Promise<void> {
|
||||||
|
const execPath = process.env.PUPPETEER_EXECUTABLE_PATH || undefined;
|
||||||
browser = await puppeteer.launch({
|
browser = await puppeteer.launch({
|
||||||
headless: true,
|
headless: true,
|
||||||
args: ["--no-sandbox", "--disable-setuid-sandbox", "--disable-gpu"],
|
executablePath: execPath,
|
||||||
|
args: ["--no-sandbox", "--disable-setuid-sandbox", "--disable-gpu", "--disable-dev-shm-usage"],
|
||||||
});
|
});
|
||||||
console.log("Browser pool ready");
|
console.log("Browser pool ready");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue