All checks were successful
CI / skip-ci-check (pull_request) Successful in 8s
CI / lint-and-type-check (pull_request) Successful in 1m12s
CI / python-lint (pull_request) Successful in 36s
CI / test-backend (pull_request) Successful in 3m47s
CI / build (pull_request) Successful in 3m28s
CI / secret-scanning (pull_request) Successful in 14s
CI / dependency-scan (pull_request) Successful in 13s
CI / sast-scan (pull_request) Successful in 1m33s
CI / workflow-summary (pull_request) Successful in 5s
- Added new logging scripts for quick access to service logs and troubleshooting. - Updated job streaming API to support authentication via query parameters for EventSource. - Improved photo upload process to capture and validate EXIF dates and original modification times. - Enhanced error handling for file uploads and EXIF extraction failures. - Introduced new configuration options in ecosystem.config.js to prevent infinite crash loops.
80 lines
3.2 KiB
Plaintext
80 lines
3.2 KiB
Plaintext
module.exports = {
|
|
apps: [
|
|
{
|
|
name: 'punimtag-api',
|
|
script: 'venv/bin/uvicorn',
|
|
args: 'backend.app:app --host 0.0.0.0 --port 8000',
|
|
cwd: '/opt/punimtag', // CHANGE: Update to your deployment directory
|
|
interpreter: 'none',
|
|
env: {
|
|
PYTHONPATH: '/opt/punimtag', // CHANGE: Update to your deployment directory
|
|
PATH: '/opt/punimtag/venv/bin:/usr/local/bin:/usr/bin:/bin', // CHANGE: Update paths
|
|
},
|
|
error_file: '/home/appuser/.pm2/logs/punimtag-api-error.log', // CHANGE: Update user home directory
|
|
out_file: '/home/appuser/.pm2/logs/punimtag-api-out.log', // CHANGE: Update user home directory
|
|
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
|
|
merge_logs: true,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: '1G',
|
|
// Prevent infinite crash loops - stop after 10 failed restarts
|
|
max_restarts: 10,
|
|
min_uptime: '10s', // Require 10 seconds of uptime before considering stable
|
|
restart_delay: 4000, // Wait 4 seconds between restarts
|
|
kill_timeout: 5000, // Allow 5 seconds for graceful shutdown
|
|
},
|
|
{
|
|
name: 'punimtag-worker',
|
|
script: 'venv/bin/python',
|
|
args: '-m backend.worker',
|
|
cwd: '/opt/punimtag', // CHANGE: Update to your deployment directory
|
|
interpreter: 'none',
|
|
env: {
|
|
PYTHONPATH: '/opt/punimtag', // CHANGE: Update to your deployment directory
|
|
PATH: '/opt/punimtag/venv/bin:/usr/local/bin:/usr/bin:/bin', // CHANGE: Update paths
|
|
},
|
|
error_file: '/home/appuser/.pm2/logs/punimtag-worker-error.log', // CHANGE: Update user home directory
|
|
out_file: '/home/appuser/.pm2/logs/punimtag-worker-out.log', // CHANGE: Update user home directory
|
|
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
|
|
merge_logs: true,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: '1G',
|
|
// Prevent infinite crash loops - stop after 10 failed restarts
|
|
max_restarts: 10,
|
|
min_uptime: '10s', // Require 10 seconds of uptime before considering stable
|
|
restart_delay: 4000, // Wait 4 seconds between restarts
|
|
kill_timeout: 5000, // Allow 5 seconds for graceful shutdown
|
|
},
|
|
{
|
|
name: 'punimtag-admin',
|
|
script: './serve.sh',
|
|
cwd: '/opt/punimtag/admin-frontend', // CHANGE: Update to your deployment directory
|
|
interpreter: 'bash',
|
|
error_file: '/home/appuser/.pm2/logs/punimtag-admin-error.log', // CHANGE: Update user home directory
|
|
out_file: '/home/appuser/.pm2/logs/punimtag-admin-out.log', // CHANGE: Update user home directory
|
|
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
|
|
merge_logs: true,
|
|
autorestart: true,
|
|
watch: false,
|
|
},
|
|
{
|
|
name: 'punimtag-viewer',
|
|
script: 'npm',
|
|
args: 'run start:3001',
|
|
cwd: '/opt/punimtag/viewer-frontend', // CHANGE: Update to your deployment directory
|
|
interpreter: 'node',
|
|
env: {
|
|
PORT: '3001',
|
|
},
|
|
error_file: '/home/appuser/.pm2/logs/punimtag-viewer-error.log', // CHANGE: Update user home directory
|
|
out_file: '/home/appuser/.pm2/logs/punimtag-viewer-out.log', // CHANGE: Update user home directory
|
|
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
|
|
merge_logs: true,
|
|
autorestart: true,
|
|
watch: false,
|
|
},
|
|
],
|
|
};
|
|
|