From cd225db6941fca414f2355310aa9975bb84cf50a Mon Sep 17 00:00:00 2001 From: Erbil Nas Date: Sun, 12 Apr 2026 18:20:58 +0300 Subject: [PATCH 1/6] ci: add dockerfile config --- Dockerfile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0cbdc63 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:24 AS build +WORKDIR /app +COPY package.json package-lock.json\* ./ +RUN npm ci +COPY . . +RUN npm run build + +FROM node:24 +WORKDIR /app +COPY --from=build /app/.output/ ./ +ENV PORT=3000 +ENV HOST=0.0.0.0 +EXPOSE 3000 +CMD ["node", "/app/server/index.mjs"] \ No newline at end of file From 9ae981a5320594b9e85b2508c52ac41adc34167d Mon Sep 17 00:00:00 2001 From: Erbil Nas Date: Sun, 12 Apr 2026 18:24:43 +0300 Subject: [PATCH 2/6] ci: add dockerfile config --- Dockerfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0cbdc63..23858fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,16 @@ -FROM node:24 AS build +FROM oven/bun:1 AS build WORKDIR /app -COPY package.json package-lock.json\* ./ -RUN npm ci +COPY package.json bun.lock* ./ +RUN bun install --frozen-lockfile COPY . . -RUN npm run build +ENV NODE_ENV=production +RUN bun run build -FROM node:24 +FROM oven/bun:1 WORKDIR /app COPY --from=build /app/.output/ ./ +ENV NODE_ENV=production ENV PORT=3000 ENV HOST=0.0.0.0 EXPOSE 3000 -CMD ["node", "/app/server/index.mjs"] \ No newline at end of file +CMD ["bun", "run", "server/index.mjs"] From 3af48119fa89798268956ac7f6fa7637c925b726 Mon Sep 17 00:00:00 2001 From: Erbil Nas Date: Sun, 12 Apr 2026 18:28:51 +0300 Subject: [PATCH 3/6] chore: add ofetch as dependcy --- bun.lock | 1 + package.json | 1 + 2 files changed, 2 insertions(+) diff --git a/bun.lock b/bun.lock index 7157c4a..a1f7c35 100644 --- a/bun.lock +++ b/bun.lock @@ -28,6 +28,7 @@ "mime": "^2.6.0", "motion-v": "^1.7.4", "nuxt": "^3.10.1", + "ofetch": "^1.5.1", "radix-vue": "^1.9.12", "reka-ui": "^2.8.0", "serve-static": "^1.15.0", diff --git a/package.json b/package.json index c2995ae..58e3f95 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "mime": "^2.6.0", "motion-v": "^1.7.4", "nuxt": "^3.10.1", + "ofetch": "^1.5.1", "radix-vue": "^1.9.12", "reka-ui": "^2.8.0", "serve-static": "^1.15.0", From 8846ca84eef16017ec2a52dabb0717ff1984c040 Mon Sep 17 00:00:00 2001 From: Erbil Nas Date: Sun, 12 Apr 2026 18:39:55 +0300 Subject: [PATCH 4/6] ci: use node container --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 23858fb..56123d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,11 +6,13 @@ COPY . . ENV NODE_ENV=production RUN bun run build -FROM oven/bun:1 +# Nitro's node_modules layout (e.g. ipx → ofetch) follows Node resolution; Bun +# does not resolve sibling packages the same way and crashes at runtime. +FROM node:20-bookworm-slim WORKDIR /app COPY --from=build /app/.output/ ./ ENV NODE_ENV=production ENV PORT=3000 ENV HOST=0.0.0.0 EXPOSE 3000 -CMD ["bun", "run", "server/index.mjs"] +CMD ["node", "server/index.mjs"] From f19acc94b5aa79eb3b6fe96e0a189d42dfeeedd8 Mon Sep 17 00:00:00 2001 From: Erbil Nas Date: Sun, 12 Apr 2026 19:15:03 +0300 Subject: [PATCH 5/6] chore: change host ipv4 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 56123d0..b928f95 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,6 @@ WORKDIR /app COPY --from=build /app/.output/ ./ ENV NODE_ENV=production ENV PORT=3000 -ENV HOST=0.0.0.0 +ENV HOST=49.12.47.215 EXPOSE 3000 CMD ["node", "server/index.mjs"] From 7d7b15f227cd77a151bcde9f31d97b36d3077879 Mon Sep 17 00:00:00 2001 From: Erbil Nas Date: Sun, 12 Apr 2026 19:21:55 +0300 Subject: [PATCH 6/6] chore: change host ipv4 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b928f95..56123d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,6 @@ WORKDIR /app COPY --from=build /app/.output/ ./ ENV NODE_ENV=production ENV PORT=3000 -ENV HOST=49.12.47.215 +ENV HOST=0.0.0.0 EXPOSE 3000 CMD ["node", "server/index.mjs"]