-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart.js
More file actions
38 lines (32 loc) Β· 1.1 KB
/
start.js
File metadata and controls
38 lines (32 loc) Β· 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Simple startup script for Railway
import { spawn } from 'child_process';
console.log('π Starting ImageFX Generator...');
console.log('π¦ Node version:', process.version);
console.log('π Environment:', process.env.NODE_ENV || 'development');
console.log('π Port:', process.env.PORT || 8080);
console.log('π Host:', process.env.HOST || '0.0.0.0');
const server = spawn('npx', ['tsx', 'src/ui/server.ts'], {
stdio: 'inherit',
env: {
...process.env,
PORT: process.env.PORT || 8080,
NODE_ENV: process.env.NODE_ENV || 'production',
HOST: process.env.HOST || '0.0.0.0'
}
});
server.on('error', (error) => {
console.error('β Server spawn error:', error.message);
process.exit(1);
});
server.on('close', (code) => {
console.log(`Server exited with code ${code}`);
process.exit(code);
});
process.on('SIGTERM', () => {
console.log('π Received SIGTERM, shutting down gracefully...');
server.kill('SIGTERM');
});
process.on('SIGINT', () => {
console.log('π Received SIGINT, shutting down gracefully...');
server.kill('SIGINT');
});