🔨 Update bunjs dockerfile, provide nodejs version dockerfile

This commit is contained in:
2025-12-25 23:38:30 +08:00
parent 284fc5eb6e
commit 5f49c67874
3 changed files with 34 additions and 20 deletions

View File

@@ -12,6 +12,7 @@ RUN bun install
COPY . .
# Build the Nuxt application
ENV NITRO_PRESET=bun
RUN bun run build
# Stage 2: Create the production image

33
Dockerfile.node Normal file
View File

@@ -0,0 +1,33 @@
# Stage 1: Build the application
FROM node:20 as builder
WORKDIR /app
# Copy dependency definition files
COPY package.json ./
COPY package-lock.json ./
# Install dependencies
RUN npm install
# Copy the rest of the application code
COPY . .
# Build the Nuxt application
RUN npm run build
# Stage 2: Create the production image
FROM node:20-slim as runner
WORKDIR /app
# Copy the built output from the builder stage
COPY --from=builder /app/.output ./.output
# Set environment variables for the Nuxt server
ENV HOST=0.0.0.0
ENV PORT=3000
# Expose the port the app runs on
EXPOSE 3000
# The command to run the application
CMD ["node", ".output/server/index.mjs"]

20
app/components.d.ts vendored
View File

@@ -14,21 +14,16 @@ declare module 'vue' {
export interface GlobalComponents {
NAlert: typeof import('naive-ui')['NAlert']
NAvatar: typeof import('naive-ui')['NAvatar']
NBtn: typeof import('naive-ui')['NBtn']
NButton: typeof import('naive-ui')['NButton']
NCard: typeof import('naive-ui')['NCard']
NCardSection: typeof import('naive-ui')['NCardSection']
NCarousel: typeof import('naive-ui')['NCarousel']
NCarouselItem: typeof import('naive-ui')['NCarouselItem']
NCheckbox: typeof import('naive-ui')['NCheckbox']
NChip: typeof import('naive-ui')['NChip']
NCode: typeof import('naive-ui')['NCode']
NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
NDatePicker: typeof import('naive-ui')['NDatePicker']
NDialog: typeof import('naive-ui')['NDialog']
NDialogProvider: typeof import('naive-ui')['NDialogProvider']
NDivider: typeof import('naive-ui')['NDivider']
NDrawer: typeof import('naive-ui')['NDrawer']
NDrawerContent: typeof import('naive-ui')['NDrawerContent']
NDropdown: typeof import('naive-ui')['NDropdown']
@@ -38,8 +33,6 @@ declare module 'vue' {
NGlobalStyle: typeof import('naive-ui')['NGlobalStyle']
NIcon: typeof import('naive-ui')['NIcon']
NImage: typeof import('naive-ui')['NImage']
NImagePreview: typeof import('naive-ui')['NImagePreview']
NImg: typeof import('naive-ui')['NImg']
NInfiniteScroll: typeof import('naive-ui')['NInfiniteScroll']
NInput: typeof import('naive-ui')['NInput']
NList: typeof import('naive-ui')['NList']
@@ -58,11 +51,8 @@ declare module 'vue' {
NSpace: typeof import('naive-ui')['NSpace']
NSpin: typeof import('naive-ui')['NSpin']
NTab: typeof import('naive-ui')['NTab']
NTabPane: typeof import('naive-ui')['NTabPane']
NTabs: typeof import('naive-ui')['NTabs']
NTag: typeof import('naive-ui')['NTag']
NTextarea: typeof import('naive-ui')['NTextarea']
NThemeEditor: typeof import('naive-ui')['NThemeEditor']
NTooltip: typeof import('naive-ui')['NTooltip']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
@@ -73,21 +63,16 @@ declare module 'vue' {
declare global {
const NAlert: typeof import('naive-ui')['NAlert']
const NAvatar: typeof import('naive-ui')['NAvatar']
const NBtn: typeof import('naive-ui')['NBtn']
const NButton: typeof import('naive-ui')['NButton']
const NCard: typeof import('naive-ui')['NCard']
const NCardSection: typeof import('naive-ui')['NCardSection']
const NCarousel: typeof import('naive-ui')['NCarousel']
const NCarouselItem: typeof import('naive-ui')['NCarouselItem']
const NCheckbox: typeof import('naive-ui')['NCheckbox']
const NChip: typeof import('naive-ui')['NChip']
const NCode: typeof import('naive-ui')['NCode']
const NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
const NConfigProvider: typeof import('naive-ui')['NConfigProvider']
const NDatePicker: typeof import('naive-ui')['NDatePicker']
const NDialog: typeof import('naive-ui')['NDialog']
const NDialogProvider: typeof import('naive-ui')['NDialogProvider']
const NDivider: typeof import('naive-ui')['NDivider']
const NDrawer: typeof import('naive-ui')['NDrawer']
const NDrawerContent: typeof import('naive-ui')['NDrawerContent']
const NDropdown: typeof import('naive-ui')['NDropdown']
@@ -97,8 +82,6 @@ declare global {
const NGlobalStyle: typeof import('naive-ui')['NGlobalStyle']
const NIcon: typeof import('naive-ui')['NIcon']
const NImage: typeof import('naive-ui')['NImage']
const NImagePreview: typeof import('naive-ui')['NImagePreview']
const NImg: typeof import('naive-ui')['NImg']
const NInfiniteScroll: typeof import('naive-ui')['NInfiniteScroll']
const NInput: typeof import('naive-ui')['NInput']
const NList: typeof import('naive-ui')['NList']
@@ -117,11 +100,8 @@ declare global {
const NSpace: typeof import('naive-ui')['NSpace']
const NSpin: typeof import('naive-ui')['NSpin']
const NTab: typeof import('naive-ui')['NTab']
const NTabPane: typeof import('naive-ui')['NTabPane']
const NTabs: typeof import('naive-ui')['NTabs']
const NTag: typeof import('naive-ui')['NTag']
const NTextarea: typeof import('naive-ui')['NTextarea']
const NThemeEditor: typeof import('naive-ui')['NThemeEditor']
const NTooltip: typeof import('naive-ui')['NTooltip']
const RouterLink: typeof import('vue-router')['RouterLink']
const RouterView: typeof import('vue-router')['RouterView']