import Fastify from "fastify"; import cors from "@fastify/cors"; import helmet from "@fastify/helmet"; import sensible from "@fastify/sensible"; import { darkwatchRoutes } from "./routes"; const app = Fastify({ logger: { level: process.env.LOG_LEVEL || "info", }, }); async function bootstrap() { await app.register(cors, { origin: true }); await app.register(helmet); await app.register(sensible); await app.register(darkwatchRoutes); app.get("/health", async () => ({ status: "ok", timestamp: new Date().toISOString() })); try { await app.listen({ port: parseInt(process.env.PORT || "3000", 10), host: "0.0.0.0" }); app.log.info(`Server listening on port ${process.env.PORT || 3000}`); } catch (err) { app.log.error(err); process.exit(1); } } bootstrap();