-
[n8n] selfhosting Puppeteer 설정컴퓨터 2024. 12. 15. 17:34
Self-hosting 시 Puppeteer 를 실행하면 에러 발생
설치 환경
Digital Ocean 위에 공식 설치 가이드 문서를 따라 설치
youtube-transcript 나 웹 스크래핑을 위해 puppeteer 를 설치
막상 실행하면 아래와 같은 에러 발생
기존 컨테이너 제거
sudo docker compose down # docker-compose.yml 수정 vi docker-compose.yml
version: "3.7" services: caddy: image: caddy:latest restart: unless-stopped ports: - "80:80" - "443:443" volumes: - caddy_data:/data - ${DATA_FOLDER}/caddy_config:/config - ${DATA_FOLDER}/caddy_config/Caddyfile:/etc/caddy/Caddyfile n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - 5678:5678 environment: - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME} - N8N_PORT=5678 - N8N_PROTOCOL=https - NODE_ENV=production - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/ - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} - PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser ## 이부분 추가 volumes: - n8n_data:/home/node/.n8n - ${DATA_FOLDER}/local_files:/files volumes: caddy_data: external: true n8n_data: external: true
수정된 파일로 컨테이너 생성
sudo docker compose up -d # 잘 생성되었나 확인 sudo docker ps # docker.n8n.io/n8nio/n8n의 CONTAINER ID확인 # root로 컨테이너에 접속 sudo docker exec -it --user root [CONTAINER ID] sh # package 설치 apk update apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont nodejs yarn yarn add puppeteer@13.5.0 addgroup -S pptruser && adduser -S -G pptruser pptruser mkdir -p /home/pptruser/Downloads /app chown -R pptruser:pptruser /home/pptruser /app
이제 youtube Transcript는 잘 작동함
Puppeteer는 추가 설정 필요
Options에 Launch Arguments로 아래 5개 추가
--ignore-certificate-errors --no-sandbox --disable-setuid-sandbox --disable-accelerated-2d-canvas --disable-gpu #위 캡쳐는 오타 (Dash 하나 빠짐)
내용 추가
기존 컨테이너 제거
chromium 관련 Memory leak 이 있어보임. 프로세스가 완전하게 종료되지 않는 상황이 있어 확인이 필요함.