58 lines
2.1 KiB
JavaScript
58 lines
2.1 KiB
JavaScript
// 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}/ 번 포트에서 대기 중`);
|
|
}); |