// restarted for .env change const app = require('./app'); const http = require('http'); const socket = require('./socket'); const net = require('net'); // MinIO TCP Port Proxy Helper (WSL/Docker Desktop loopback bridge) function startMinioProxy() { const ports = [9000, 9001]; ports.forEach(port => { const server = net.createServer((clientSocket) => { const targetSocket = net.connect(port, '127.0.0.1', () => { clientSocket.pipe(targetSocket); targetSocket.pipe(clientSocket); }); clientSocket.on('error', (err) => { targetSocket.destroy(); }); targetSocket.on('error', (err) => { clientSocket.destroy(); }); clientSocket.on('close', () => { targetSocket.destroy(); }); targetSocket.on('close', () => { clientSocket.destroy(); }); }); server.on('error', (err) => { if (err.code === 'EADDRINUSE') { console.log(`[MinIO Proxy] Port ${port} is already in use. Skipping proxy initialization.`); } else { console.error(`[MinIO Proxy] Port ${port} error:`, err); } }); server.listen(port, '0.0.0.0', () => { console.log(`>> [MinIO Proxy] Listening on 0.0.0.0:${port} -> 127.0.0.1:${port}`); }); }); } // Start MinIO Proxy startMinioProxy(); const server = http.createServer(app); socket.init(server); // 웹소켓 초기화 const env = process.env.NODE_ENV // 'development', 'production', 'individual' const host = env == 'production' ? process.env.PRODUCTION_IP : (env == 'individual' ? process.env.LOCAL_IP : '0.0.0.0'); const port = env == 'production' ? process.env.PRODUCTION_PORT : (env == 'individual' ? process.env.LOCAL_PORT : '6565'); server.listen(port, host, (e) => { const displayHost = host === '0.0.0.0' ? 'localhost' : host; console.log(`>> Web Server Start : http://${displayHost}:${port}/ 번 포트에서 대기 중`); });