From 05295850e82bd2924cf427aa11085c9c813a48cf Mon Sep 17 00:00:00 2001 From: Hiiguess3 <159083299+Hiiguess3@users.noreply.github.com> Date: Tue, 12 May 2026 21:38:05 -0400 Subject: [PATCH 1/4] Add Dockerfile for Node.js application setup --- FROM node:20 WORKDIR /Dockerfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 FROM node:20 WORKDIR /Dockerfile diff --git a/FROM node:20 WORKDIR /Dockerfile b/FROM node:20 WORKDIR /Dockerfile new file mode 100644 index 000000000..86d91eea1 --- /dev/null +++ b/FROM node:20 WORKDIR /Dockerfile @@ -0,0 +1,13 @@ +FROM node:20 + +WORKDIR /app + +COPY package*.json ./ +RUN npm install -g pnpm +RUN pnpm install + +COPY . . + +EXPOSE 8080 + +CMD ["pnpm", "start"] From 2bce247b9d28c65c7bd30ebfe01b76375148076c Mon Sep 17 00:00:00 2001 From: Hiiguess3 <159083299+Hiiguess3@users.noreply.github.com> Date: Tue, 12 May 2026 21:39:50 -0400 Subject: [PATCH 2/4] Change base image to node:20-slim and use pnpm Updated Node.js base image and installation method using pnpm. --- Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index ced0eef1d..939ccf7a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,13 @@ -FROM node:bookworm-slim -ENV NODE_ENV=production +FROM node:20-slim WORKDIR /app -COPY ["package.json", "./"] +COPY package.json pnpm-lock.yaml* ./ -RUN npm install +RUN npm install -g pnpm && pnpm install COPY . . -CMD [ "node", "index.js" ] \ No newline at end of file +EXPOSE 8080 + +CMD ["pnpm", "start"] From f8639c3d54026d86cdb60e187975bd53aa69920c Mon Sep 17 00:00:00 2001 From: Hiiguess3 <159083299+Hiiguess3@users.noreply.github.com> Date: Tue, 12 May 2026 21:41:13 -0400 Subject: [PATCH 3/4] Update Dockerfile to use corepack and frozen lockfile --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 939ccf7a0..ec5655818 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,11 @@ FROM node:20-slim WORKDIR /app +RUN corepack enable + COPY package.json pnpm-lock.yaml* ./ -RUN npm install -g pnpm && pnpm install +RUN pnpm install --frozen-lockfile COPY . . From a2f14bc70cbfe65056718af5d3d794df8b1a58c1 Mon Sep 17 00:00:00 2001 From: Hiiguess3 <159083299+Hiiguess3@users.noreply.github.com> Date: Tue, 12 May 2026 21:44:33 -0400 Subject: [PATCH 4/4] Refactor server creation and listening logic --- index.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 3382404d8..03fd7e2c1 100644 --- a/index.js +++ b/index.js @@ -10,14 +10,14 @@ import basicAuth from "express-basic-auth"; import bareMuxNode from "@mercuryworkshop/bare-mux/node"; import { server as wisp } from "@mercuryworkshop/wisp-js/server"; import mime from "mime"; -import fetch from "node-fetch"; +const fetch = global.fetch; // import { setupMasqr } from "./Masqr.js"; import config from "./config.js"; console.log(chalk.yellow("🚀 Starting server...")); const __dirname = process.cwd(); -const server = http.createServer(); +const server = http.createServer((req, res) => app(req, res)); const app = express(); const bareServer = createBareServer("/ca/"); const { baremuxPath } = bareMuxNode; @@ -160,8 +160,6 @@ server.on("upgrade", (req, socket, head) => { } }); -server.on("listening", () => { - console.log(chalk.green(`🌍 Server is running on http://localhost:${PORT}`)); +server.listen(PORT, "0.0.0.0", () => { + console.log(`🌍 Server running on port ${PORT}`); }); - -server.listen({ port: PORT });