From dd7e2242a0f43270f11c149a322097decb3f4264 Mon Sep 17 00:00:00 2001 From: alikia2x Date: Mon, 2 Jun 2025 05:04:26 +0800 Subject: [PATCH] add: docker support for nextjs frontend --- Dockerfile.next | 14 ++ packages/backend/package.json | 11 +- packages/backend/src/main.ts | 2 +- packages/backend/src/types.d.ts | 1 + packages/core/main.ts | 1 - .../next/app/[locale]/signup/ErrorDialog.tsx | 2 +- packages/next/app/[locale]/signup/page.tsx | 2 +- packages/next/app/[locale]/signup/request.tsx | 2 +- packages/next/bun.lock | 183 +++++++++++------- packages/next/components/hooks/useCaptcha.ts | 2 +- packages/next/components/shell/Header.tsx | 2 +- packages/next/lib/userAuth.ts | 2 +- packages/next/package.json | 1 + packages/next/tsconfig.json | 3 +- 14 files changed, 149 insertions(+), 79 deletions(-) create mode 100644 Dockerfile.next create mode 100644 packages/backend/src/types.d.ts delete mode 100644 packages/core/main.ts diff --git a/Dockerfile.next b/Dockerfile.next new file mode 100644 index 0000000..081a8b0 --- /dev/null +++ b/Dockerfile.next @@ -0,0 +1,14 @@ +FROM node:lts-slim AS production + +WORKDIR /app + +COPY ./packages/next/.next ./.next +COPY ./packages/next/public ./public +COPY ./packages/next/package.json ./package.json +COPY ./packages/next/node_modules ./node_modules + +ENV NODE_ENV production + +EXPOSE 7400 + +CMD ["npm", "start"] diff --git a/packages/backend/package.json b/packages/backend/package.json index 2cc883d..e5ad0e7 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,9 +1,12 @@ { - "name": "backend", + "name": "@cvsa/backend", + "private": false, + "version": "0.5.3", "scripts": { "format": "prettier --write .", "dev": "NODE_ENV=development bun run --hot src/main.ts", - "start": "NODE_ENV=production bun run src/main.ts" + "start": "NODE_ENV=production bun run src/main.ts", + "build": "bun build ./src/main.ts --target bun --outdir ./dist" }, "dependencies": { "@rabbit-company/argon2id": "^2.1.0", @@ -19,5 +22,7 @@ "devDependencies": { "@types/bun": "^1.2.11", "prettier": "^3.5.3" - } + }, + "main": "./dist/main.js", + "types": "./src/types.d.ts" } diff --git a/packages/backend/src/main.ts b/packages/backend/src/main.ts index 61ababf..52acbde 100644 --- a/packages/backend/src/main.ts +++ b/packages/backend/src/main.ts @@ -15,4 +15,4 @@ configureRoutes(app); await startServer(app); -export const VERSION = "0.4.6"; +export const VERSION = "0.5.2"; diff --git a/packages/backend/src/types.d.ts b/packages/backend/src/types.d.ts new file mode 100644 index 0000000..686fbd9 --- /dev/null +++ b/packages/backend/src/types.d.ts @@ -0,0 +1 @@ +export * from "./schema"; diff --git a/packages/core/main.ts b/packages/core/main.ts deleted file mode 100644 index f96466e..0000000 --- a/packages/core/main.ts +++ /dev/null @@ -1 +0,0 @@ -export const DB_VERSION = 10; diff --git a/packages/next/app/[locale]/signup/ErrorDialog.tsx b/packages/next/app/[locale]/signup/ErrorDialog.tsx index 4dbbe6d..de2d7de 100644 --- a/packages/next/app/[locale]/signup/ErrorDialog.tsx +++ b/packages/next/app/[locale]/signup/ErrorDialog.tsx @@ -1,5 +1,5 @@ import { DialogButton, DialogButtonGroup, DialogHeadline, DialogSupportingText } from "@/components/ui/Dialog"; -import { ErrorCode as ResponseErrorCode } from "@backend/src/schema"; +import type { ErrorCode as ResponseErrorCode } from "@cvsa/backend"; import { useTranslations } from "next-intl"; interface ErrorDialogProps { diff --git a/packages/next/app/[locale]/signup/page.tsx b/packages/next/app/[locale]/signup/page.tsx index 620e013..d42821e 100644 --- a/packages/next/app/[locale]/signup/page.tsx +++ b/packages/next/app/[locale]/signup/page.tsx @@ -33,7 +33,7 @@ export default function SignupPage() {