From 02ed4ede308bfaec7e64a0257194f791fadf9044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Chyeonggkim=E2=80=9D?= <“hyeonggkim@smilegate.com”> Date: Fri, 24 Oct 2025 15:11:59 +0900 Subject: [PATCH] feat: add ecosystem --- ecosystem.config.cjs | 130 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 ecosystem.config.cjs diff --git a/ecosystem.config.cjs b/ecosystem.config.cjs new file mode 100644 index 0000000..59450ca --- /dev/null +++ b/ecosystem.config.cjs @@ -0,0 +1,130 @@ +module.exports = { + apps: [ + { + name: 'dev', + script: './.output/server/index.mjs', + autorestart: true, // 애플리케이션의 자동 재시작 여부 + watch: true, // 파일 변경 감지 및 재시작 여부 + instances: 1, + max_memory_restart: '2G', // 메모리 사용량을 기준으로 재시작하는 설정 + // Logging + out_file: '/stove/logs/template/template_fe-out.log', + error_file: '/stove/logs/template/template_fe-error.log', + log_date_format: 'YYYY-MM-DD', + log_type: 'json', + merge_logs: true, // 클러스터 모드 사용 시 각 클러스터에서 생성되는 로그를 한 파일로 병합 + env: { + PORT: 3000, + NODE_ENV: 'dev' + } + }, + { + name: 'dev2', + script: './.output/server/index.mjs', + autorestart: true, // 애플리케이션의 자동 재시작 여부 + watch: true, // 파일 변경 감지 및 재시작 여부 + instances: 1, + max_memory_restart: '2G', // 메모리 사용량을 기준으로 재시작하는 설정 + // Logging + out_file: '/stove/logs/template/template_fe-out.log', + error_file: '/stove/logs/template/template_fe-error.log', + log_date_format: 'YYYY-MM-DD', + log_type: 'json', + merge_logs: true, // 클러스터 모드 사용 시 각 클러스터에서 생성되는 로그를 한 파일로 병합 + env: { + PORT: 3000, + NODE_ENV: 'dev' + } + }, + { + name: 'qa', + script: './.output/server/index.mjs', + autorestart: true, // 애플리케이션의 자동 재시작 여부 + watch: true, // 파일 변경 감지 및 재시작 여부 + instances: 1, + max_memory_restart: '2G', // 메모리 사용량을 기준으로 재시작하는 설정 + // Logging + out_file: '/stove/logs/template/template_fe-out.log', + error_file: '/stove/logs/template/template_fe-error.log', + log_date_format: 'YYYY-MM-DD', + log_type: 'json', + merge_logs: true, // 클러스터 모드 사용 시 각 클러스터에서 생성되는 로그를 한 파일로 병합 + env: { + PORT: 3000, + NODE_ENV: 'qa' + } + }, + { + name: 'qa2', + script: './.output/server/index.mjs', + autorestart: true, // 애플리케이션의 자동 재시작 여부 + watch: true, // 파일 변경 감지 및 재시작 여부 + instances: 1, + max_memory_restart: '2G', // 메모리 사용량을 기준으로 재시작하는 설정 + // Logging + out_file: '/stove/logs/template/template_fe-out.log', + error_file: '/stove/logs/template/template_fe-error.log', + log_date_format: 'YYYY-MM-DD', + log_type: 'json', + merge_logs: true, // 클러스터 모드 사용 시 각 클러스터에서 생성되는 로그를 한 파일로 병합 + env: { + PORT: 3000, + NODE_ENV: 'qa' + } + }, + { + name: 'perf', + script: './.output/server/index.mjs', + autorestart: true, // 애플리케이션의 자동 재시작 여부 + watch: true, // 파일 변경 감지 및 재시작 여부 + instances: 1, + max_memory_restart: '2G', // 메모리 사용량을 기준으로 재시작하는 설정 + // Logging + out_file: '/stove/logs/template/template_fe-out.log', + error_file: '/stove/logs/template/template_fe-error.log', + log_date_format: 'YYYY-MM-DD', + log_type: 'json', + merge_logs: true, // 클러스터 모드 사용 시 각 클러스터에서 생성되는 로그를 한 파일로 병합 + env: { + PORT: 3000, + NODE_ENV: 'perf' + } + }, + { + name: 'sandbox', + script: './.output/server/index.mjs', + autorestart: true, // 애플리케이션의 자동 재시작 여부 + watch: false, // 파일 변경 감지 및 재시작 여부 + instances: 1, + max_memory_restart: '2G', // 메모리 사용량을 기준으로 재시작하는 설정 + // Logging + out_file: '/stove/logs/template/template_fe-out.log', + error_file: '/stove/logs/template/template_fe-error.log', + log_date_format: 'YYYY-MM-DD', + log_type: 'json', + merge_logs: true, // 클러스터 모드 사용 시 각 클러스터에서 생성되는 로그를 한 파일로 병합 + env: { + PORT: 3000, + NODE_ENV: 'sandbox' + } + }, + { + name: 'live', + script: './.output/server/index.mjs', + autorestart: true, // 애플리케이션의 자동 재시작 여부 + watch: false, // 파일 변경 감지 및 재시작 여부 + instances: 1, + max_memory_restart: '2G', // 메모리 사용량을 기준으로 재시작하는 설정 + // Logging + out_file: '/stove/logs/template/template_fe-out.log', + error_file: '/stove/logs/template/template_fe-error.log', + log_date_format: 'YYYY-MM-DD', + log_type: 'json', + merge_logs: true, // 클러스터 모드 사용 시 각 클러스터에서 생성되는 로그를 한 파일로 병합 + env: { + PORT: 3000, + NODE_ENV: 'live' + } + } + ] +}