38 lines
922 B
JavaScript
38 lines
922 B
JavaScript
import express from "express";
|
|
import dotenv from "dotenv";
|
|
|
|
dotenv.config();
|
|
const app = express();
|
|
|
|
// Leggi variabili da .env
|
|
const HOST = process.env.HOST || "0.0.0.0";
|
|
const PORT = process.env.PORT || 3000;
|
|
const TYPE = process.env.TYPE || "http";
|
|
const URL = `${TYPE}://${HOST}:${PORT}` || "http:/0.0.0.0:3000";
|
|
//console.log(URL);
|
|
const SITES = (process.env.SITES || "").split(",");
|
|
|
|
// Monta le cartelle statiche in base alla lista SITES
|
|
SITES.forEach(site => {
|
|
if (site) {
|
|
app.use(`/${site}`, express.static(site));
|
|
}
|
|
});
|
|
|
|
// Cartella public come root
|
|
app.use("/", express.static("public"));
|
|
app.use("/root", express.static("public"));
|
|
|
|
// Endpoint per esporre la config al client
|
|
app.get("/config.json", (req, res) => {
|
|
res.json({
|
|
host: HOST,
|
|
port: PORT,
|
|
sites: SITES,
|
|
url: URL
|
|
});
|
|
});
|
|
|
|
app.listen(PORT, HOST, () => {
|
|
console.log(`✅ Server pronto su http://${HOST}:${PORT}`);
|
|
});
|