- Add PlaywrightBrowserService: singleton Chromium browser with auto-recovery - Refactor WebCrawlerService/YouTubeTranscriptService to use shared browser tabs - Fix YouTube transcript: extract from DOM panel + fmt=json3 fallback - Keep browser window alive (about:blank instead of page.close) - Add docs: X Window setup, operation manual, crawling guide Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
677 B
Bash
Executable File
20 lines
677 B
Bash
Executable File
#!/bin/bash
|
|
set -a
|
|
source /home/opc/sundol/.env
|
|
set +a
|
|
|
|
JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-21}
|
|
export JAVA_HOME
|
|
|
|
# Playwright: use pre-installed browsers, skip auto-download
|
|
export PLAYWRIGHT_BROWSERS_PATH=/home/opc/.cache/ms-playwright
|
|
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
|
|
|
# Xvfb virtual display for Playwright head mode (YouTube transcript)
|
|
# :99 = Xvfb (백그라운드), :1 = VNC (디버깅용)
|
|
export DISPLAY=:1
|
|
|
|
# Playwright driver-bundle requires exploded classpath (fat JAR extraction fails)
|
|
BACKEND_DIR=/home/opc/sundol/sundol-backend
|
|
exec $JAVA_HOME/bin/java -cp "$BACKEND_DIR/target/classes:$BACKEND_DIR/target/dependency/*" com.sundol.SundolApplication
|