Files
GhiVideo/ecosystem.config.js
b23042andClaude Opus 4.8 78fc090360 초기 커밋: 스테이션(측점) 기반 주행영상 플레이어
- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel
- 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API
- 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 16:37:57 +09:00

29 lines
1.1 KiB
JavaScript
Executable File

module.exports = {
apps: [
{
name: "ghiVideo",
// cwd = 이 설정 파일이 있는 위치(프로젝트 루트)를 작업 디렉토리로 고정.
// 이 한 곳만 앵커로 두고, 아래 경로는 전부 cwd 기준 상대경로로 해석된다.
cwd: __dirname,
// script: cwd 기준 상대경로 (npm run build 후 생성)
script: "server/dist/server/src/app.js",
// PATH 의 node 사용 — pm2 start 전에 nvm 으로 Node 20 이 활성화돼 있어야 함
interpreter: "node",
env: {
PORT: 55000,
// 서버 config.ts 가 path.resolve(cwd 기준)로 해석 → 상대경로 OK
VIDEOS_DIR: "samplevideo",
HLS_DIR: "storage/hls",
FRAMES_DIR: "storage/frames",
THUMBNAILS_DIR: "storage/thumbnails",
DB_PATH: "storage/annotations.db",
// 절대경로 대신 PATH 에서 탐색 (apt 설치 시 /usr/bin 에 있고 PATH 포함됨)
FFMPEG_PATH: "ffmpeg",
FFPROBE_PATH: "ffprobe",
GEO_DATA_DIR: "samplevideo",
CENTER_CSV_PATH: "pythonsource/input/center.csv",
},
},
],
};