From 5c84f4a6721404db65b23becf2837531c70ef941 Mon Sep 17 00:00:00 2001 From: user Date: Mon, 2 Mar 2026 19:46:58 +0200 Subject: [PATCH] semi-thicker, but eh works now --- apps/processor/package.json | 2 +- apps/processor/src/index.ts | 7 +++++-- dockerfiles/processor.Dockerfile | 36 +++++++++++++++++++------------- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/apps/processor/package.json b/apps/processor/package.json index 5c289f6..92d6eed 100644 --- a/apps/processor/package.json +++ b/apps/processor/package.json @@ -4,7 +4,7 @@ "scripts": { "dev": "tsx watch src/index.ts", "build": "tsc", - "prod": "PORT=3000 HOST=0.0.0.0 node dist/index.js" + "prod": "HOST=0.0.0.0 PORT=3000 tsx src/index.ts" }, "dependencies": { "@opentelemetry/api": "^1.9.0", diff --git a/apps/processor/src/index.ts b/apps/processor/src/index.ts index 672db07..965819a 100644 --- a/apps/processor/src/index.ts +++ b/apps/processor/src/index.ts @@ -7,6 +7,8 @@ import { Hono } from "hono"; const app = new Hono(); app.use("*", httpTelemetryMiddleware); +const host = process.env.HOST || "0.0.0.0"; +const port = Number(process.env.PORT || "3000"); app.get("/health", (c) => { return c.json({ ok: true }); @@ -21,9 +23,10 @@ app.route("/api/v1/mobile", mobileRouter); serve( { fetch: app.fetch, - port: 3000, + port, + hostname: host, }, (info) => { - console.log(`Server is running on http://localhost:${info.port}`); + console.log(`Server is running on http://${host}:${info.port}`); }, ); diff --git a/dockerfiles/processor.Dockerfile b/dockerfiles/processor.Dockerfile index 43c403d..cc71f55 100644 --- a/dockerfiles/processor.Dockerfile +++ b/dockerfiles/processor.Dockerfile @@ -1,29 +1,35 @@ -FROM node:25.6.1-alpine AS production - -RUN apk add --no-cache xh +FROM node:25.6.1-alpine AS deps RUN npm i -g pnpm WORKDIR /app COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./ - COPY apps/processor/package.json ./apps/processor/package.json +COPY packages/db/package.json ./packages/db/package.json +COPY packages/logger/package.json ./packages/logger/package.json +COPY packages/logic/package.json ./packages/logic/package.json +COPY packages/objectstorage/package.json ./packages/objectstorage/package.json +COPY packages/result/package.json ./packages/result/package.json +COPY packages/settings/package.json ./packages/settings/package.json -COPY packages ./packages +RUN pnpm install --frozen-lockfile -RUN pnpm install +FROM node:25.6.1-alpine AS production +WORKDIR /app + +ENV NODE_ENV=production +ENV HOST=0.0.0.0 +ENV PORT=3000 + +RUN npm i -g pnpm + +COPY --from=deps /app/node_modules ./node_modules COPY apps/processor ./apps/processor - -RUN pnpm install -RUN pnpm run build - -COPY scripts ./scripts +COPY packages ./packages +COPY package.json pnpm-workspace.yaml turbo.json ./ EXPOSE 3000 -EXPOSE 9001 -RUN chmod +x scripts/*.sh - -CMD ["/bin/sh", "scripts/prod.start.sh", "apps/processor"] +CMD ["pnpm", "--filter", "@apps/processor", "run", "prod"]