fix: Puppeteer shm crash - add --disable-dev-shm-usage and /dev/shm volume
This commit is contained in:
parent
5fb2afec1d
commit
6449870836
|
|
@ -29,27 +29,36 @@ spec:
|
||||||
containers:
|
containers:
|
||||||
- name: whatsapp-gateway
|
- name: whatsapp-gateway
|
||||||
image: node:18-alpine
|
image: node:18-alpine
|
||||||
# Install dependencies needed by Puppeteer inside Alpine
|
|
||||||
# whatsapp-web.js requires Chromium
|
|
||||||
command:
|
command:
|
||||||
- "sh"
|
- "sh"
|
||||||
- "-c"
|
- "-c"
|
||||||
- "apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont && cd /app && npm install && PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser node server.js"
|
- "apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont && cd /app && npm install && node server.js"
|
||||||
|
env:
|
||||||
|
- name: PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
|
||||||
|
value: "true"
|
||||||
|
- name: PUPPETEER_EXECUTABLE_PATH
|
||||||
|
value: "/usr/bin/chromium-browser"
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: app-code
|
- name: app-code
|
||||||
mountPath: /app
|
mountPath: /app
|
||||||
|
- name: dshm
|
||||||
|
mountPath: /dev/shm
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 5001
|
- containerPort: 5001
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 300m
|
cpu: 300m
|
||||||
memory: 512Mi
|
memory: 768Mi
|
||||||
limits:
|
limits:
|
||||||
cpu: "1.5"
|
cpu: "2"
|
||||||
memory: 1.5Gi
|
memory: 2Gi
|
||||||
volumes:
|
volumes:
|
||||||
- name: app-code
|
- name: app-code
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
|
- name: dshm
|
||||||
|
emptyDir:
|
||||||
|
medium: Memory
|
||||||
|
sizeLimit: 1Gi
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,20 @@ const client = new Client({
|
||||||
}),
|
}),
|
||||||
puppeteer: {
|
puppeteer: {
|
||||||
headless: true,
|
headless: true,
|
||||||
args: ['--no-sandbox', '--disable-setuid-sandbox']
|
executablePath: process.env.PUPPETEER_EXECUTABLE_PATH || '/usr/bin/chromium-browser',
|
||||||
|
args: [
|
||||||
|
'--no-sandbox',
|
||||||
|
'--disable-setuid-sandbox',
|
||||||
|
'--disable-dev-shm-usage',
|
||||||
|
'--disable-accelerated-2d-canvas',
|
||||||
|
'--disable-gpu',
|
||||||
|
'--no-first-run',
|
||||||
|
'--no-zygote',
|
||||||
|
'--single-process',
|
||||||
|
'--disable-extensions',
|
||||||
|
'--disable-background-networking',
|
||||||
|
'--disable-default-apps'
|
||||||
|
]
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -27,6 +40,16 @@ client.on('qr', (qr) => {
|
||||||
console.log('==================================================================\n');
|
console.log('==================================================================\n');
|
||||||
qrcode.generate(qr, { small: true });
|
qrcode.generate(qr, { small: true });
|
||||||
console.log('\n==================================================================');
|
console.log('\n==================================================================');
|
||||||
|
console.log('[WhatsApp Bot] QR code generated. Waiting for scan...');
|
||||||
|
});
|
||||||
|
|
||||||
|
// Log loading progress
|
||||||
|
client.on('loading_screen', (percent, message) => {
|
||||||
|
console.log(`[WhatsApp Bot] Loading: ${percent}% - ${message}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on('authenticated', () => {
|
||||||
|
console.log('[WhatsApp Bot] Authenticated successfully!');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Event: Successfully logged in & authenticated
|
// Event: Successfully logged in & authenticated
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue