CI/CD: Permitindo que o docker instale o chromium em qualquer ambiente
Some checks failed
Deploy Dev / deploy (push) Has been cancelled

This commit is contained in:
Rafael Alves Lopes 2026-06-10 18:42:09 -03:00
parent 590748c0d9
commit 779d64b2f0
2 changed files with 15 additions and 1 deletions

View File

@ -1,5 +1,7 @@
FROM node:20-alpine FROM node:20-alpine
WORKDIR /app WORKDIR /app
RUN apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
COPY package*.json ./ COPY package*.json ./
RUN npm ci RUN npm ci
COPY . . COPY . .

View File

@ -7,6 +7,18 @@ import { WhatsappTemplateService } from './whatsapp-template.service';
import * as fs from 'fs'; import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
function getBrowserExecutablePath() {
if (process.env.PUPPETEER_EXECUTABLE_PATH) {
return process.env.PUPPETEER_EXECUTABLE_PATH;
}
if (process.platform === 'win32') {
return 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe';
}
return undefined;
}
@Injectable() @Injectable()
export class WhatsappService implements OnModuleInit { export class WhatsappService implements OnModuleInit {
private client: Client; private client: Client;
@ -31,7 +43,7 @@ export class WhatsappService implements OnModuleInit {
authStrategy: new LocalAuth({ dataPath: './whatsapp-session' }), authStrategy: new LocalAuth({ dataPath: './whatsapp-session' }),
puppeteer: { puppeteer: {
headless: true, headless: true,
executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', executablePath: getBrowserExecutablePath(),
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--disable-accelerated-2d-canvas', '--no-first-run', '--disable-gpu'] args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--disable-accelerated-2d-canvas', '--no-first-run', '--disable-gpu']
}, },
webVersionCache: { webVersionCache: {