- government/ Node 데몬: Open API 우선 + HTML 보조 + 디스커버리 전략 - Strategy 패턴 소스 어댑터: KStartupApiSource(공공데이터 Open API), GenericHtmlSource(config 기반) - sundol 3단계 폴백 크롤러(cheerio→Jina→Playwright CDP) Node 재구현, sundol-chrome(9222) 재사용 - Oracle thick 모드(Instant Client + sso 지갑) 접속, gov_source/gov_opportunity 적재(중복제거) - K-Startup 29,017건 + 중기부(mss) 30건 적재 검증, PM2 gov-daemon 등록(60분 주기) - 기업마당(bizinfo)은 자체 crtfcKey 발급 대기 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
module.exports = {
|
|
apps: [
|
|
{
|
|
name: "sundol-chrome",
|
|
script: "./start-chrome.sh",
|
|
interpreter: "/bin/bash",
|
|
cwd: "/home/opc/sundol",
|
|
env: {
|
|
DISPLAY: ":1",
|
|
},
|
|
},
|
|
{
|
|
name: "sundol-backend",
|
|
script: "./start-backend.sh",
|
|
interpreter: "/bin/bash",
|
|
cwd: "/home/opc/sundol",
|
|
env: {
|
|
JAVA_HOME: "/usr/lib/jvm/java-21",
|
|
PLAYWRIGHT_NODEJS_PATH: "/home/opc/.playwright-driver/driver/linux/node",
|
|
},
|
|
},
|
|
{
|
|
name: "sundol-frontend",
|
|
script: "/usr/local/bin/node",
|
|
args: "sundol-frontend/.next/standalone/server.js",
|
|
cwd: "/home/opc/sundol",
|
|
env: {
|
|
PORT: 3000,
|
|
HOSTNAME: "0.0.0.0",
|
|
NEXT_PUBLIC_API_URL: "https://sundol.cloud-handson.com",
|
|
NEXT_PUBLIC_GOOGLE_CLIENT_ID: "906390686133-vpqsisodkg6uqui469hg8dhupbejoa0d.apps.googleusercontent.com",
|
|
},
|
|
},
|
|
{
|
|
name: "gov-daemon",
|
|
script: "src/daemon.js",
|
|
interpreter: "/usr/local/bin/node",
|
|
cwd: "/home/opc/sundol/government",
|
|
env: {
|
|
// Oracle Instant Client(thick 모드) 의존 라이브러리 경로
|
|
LD_LIBRARY_PATH: "/home/opc/oracle-ic/instantclient_23_26",
|
|
},
|
|
},
|
|
],
|
|
};
|