27 lines
693 B
JavaScript
27 lines
693 B
JavaScript
// Load environment variables THIS MUST BE AT THE TOP
|
|
const path = require("path");
|
|
require("dotenv").config({
|
|
path: path.resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
|
|
});
|
|
|
|
const { networkInterfaces, hostname } = require("node:os");
|
|
|
|
const getHostNameOrIP = () => {
|
|
// Try to get the hostname first
|
|
const hostName = hostname();
|
|
if (hostName) return hostName;
|
|
|
|
const interfaces = networkInterfaces();
|
|
for (const name of Object.keys(interfaces)) {
|
|
for (const iface of interfaces[name]) {
|
|
if (iface.family === "IPv4" && !iface.internal) {
|
|
return iface.address;
|
|
}
|
|
}
|
|
}
|
|
|
|
return "127.0.0.1";
|
|
};
|
|
|
|
module.exports = getHostNameOrIP;
|