Spaces:
Sleeping
Sleeping
const express = require("express"); | |
const path = require("path"); | |
const app = express(); | |
// Set the port to 7860 as required by Hugging Face Spaces | |
const PORT = process.env.PORT || 7860; | |
const HOST = process.env.HOST || "0.0.0.0"; | |
// Serve static files from the dist directory | |
app.use(express.static(path.join(__dirname, "dist"))); | |
// Health check endpoint for Hugging Face Spaces (must come before wildcard route) | |
app.get("/health", (_req, res) => { | |
res.status(200).send("healthy"); | |
}); | |
// Handle SPA routing - serve index.html for all routes | |
app.get("*", (_req, res) => { | |
res.sendFile(path.join(__dirname, "dist", "index.html")); | |
}); | |
// Start the server | |
app.listen(PORT, HOST, () => { | |
console.log(`Server is running on ${HOST}:${PORT}`); | |
console.log(`Access the application at http://localhost:${PORT}`); | |
}); | |
// Handle graceful shutdown | |
process.on("SIGTERM", () => { | |
console.log("SIGTERM received, shutting down gracefully"); | |
process.exit(0); | |
}); | |
process.on("SIGINT", () => { | |
console.log("SIGINT received, shutting down gracefully"); | |
process.exit(0); | |
}); | |