sigterm issue and unable to hit public url of my backend node ts
mukul-2000
FREEOP

3 months ago

Server listening on 8080
MongoDB connected
Stopping Container
Stopping Container
npm error path
/app npm error command failed npm error signal SIGTERM npm error command sh -c node dist/index.js npm error A complete log of this run can be found in: /root/.npm/_logs/2025-09-15T13_22_25_659Z-debug-0.log

i am getting in this in logs and in deployment logs i am getting this which i have provided below:

Server listening on 8080
MongoDB connected

my index.ts file from where server is starting

import express from 'express';
import http from 'http';
import { Server as IOServer } from 'socket.io';
import mongoose from 'mongoose';
import cors from 'cors';
import uploadRouter from './routes/upload';
import reportRouter from './routes/report';
import path from 'path';
import LogModel from './models/Log.model';

import dotenv from "dotenv";
dotenv.config();

process.on('uncaughtException', (err) => console.error('Uncaught Exception:', err));
process.on('unhandledRejection', (reason, promise) =>
  console.error('Unhandled Rejection at:', promise, 'reason:', reason)
);

if (process.env.NODE_ENV !== 'production') {
  require('dotenv').config();
}

const PORT = process.env.PORT || 4000;
const MONGO_URI = String(process.env.MONGO_URI);


const app = express();
const server = http.createServer(app);
const io = new IOServer(server, { cors: { origin: '*' } });

app.use(cors());
app.use(express.json());
app.use('/upload', uploadRouter);
app.use('/report', reportRouter);

// simple health
app.get('/health', (_, res) => res.json({ ok: true }));

io.on('connection', (socket) => {
  console.log('socket connected', socket.id);
  socket.on('join-session', (sessionId) => {
    socket.join(sessionId);
  });
  socket.on('proctor-event', async(data) => {
    // Broadcast to clients in session; in production save to DB
    io.to(data.sessionId).emit('event', data);
    console.log('event', data);

    try {
      const log = new LogModel({
        type: data.type,
        detail: data.detail,
        ts: data.ts || new Date(),
        sessionId: data.sessionId,
        candidateId: data.candidateId || null,
      });

      await log.save();
      console.log("Log saved:", log._id);
    } catch (err) {
      console.error("Error saving log:", err);
    }
  });
});


mongoose.connect(MONGO_URI).then(() => {
  console.log('MongoDB connected');
}).catch(err => console.warn('MongoDB connection error', err));

server.listen(PORT, () => console.log('Server listening on', PORT));

on hitting public url to check whether it is working or not i am getting this:

This site can’t be reached

video-proctoring-system-production.up.railway.app’s DNS address could not be found. Diagnosing the problem.

DNS_PROBE_POSSIBLE

repo is monorepo
and i have set my root to perfectly that is why i am reaching on the logs that server is running on 8080.

$10 Bounty

1 Replies

Railway
BOT

3 months ago

Hey there! We've found the following might help you get unblocked faster:

If you find the answer from one of these, please let us know by solving the thread!


Loading...