aboutsummaryrefslogtreecommitdiff
path: root/src/index.ts
blob: 65c46d9fae275eadf95aebfb39e49515fa1e6ff5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { createAdaptorServer, serve } from "@hono/node-server";
import { serveStatic } from "@hono/node-server/serve-static";
import { Eta } from "eta";
import { Hono } from "hono";
import path from "node:path";
import url from "node:url";
import { createApp } from "./app.ts";

const __dirname = path.dirname(url.fileURLToPath(import.meta.url));

const eta = new Eta({ views: path.join(__dirname, "..", "views") });

const app = new Hono();
app.use("/static/*", serveStatic({ root: path.join(__dirname, "..", "public") }));
app.route("/", createApp(eta));

if (process.env.LISTEN_FDS === "1") {
  const server = createAdaptorServer(app);
  // Listen on SD_LISTEN_FDS_START.
  server.listen({ fd: 3 }, () => {
    console.log("Server running via systemd socket activation");
  });
} else {
  const port = parseInt(process.env.PORT || "3000", 10);
  serve({ fetch: app.fetch, port }, (info) => {
    console.log(`Server running on http://localhost:${info.port}`);
  });
}