Initial commit
This commit is contained in:
39
Dockerfile
Normal file
39
Dockerfile
Normal file
@@ -0,0 +1,39 @@
|
||||
# Build Stage 1
|
||||
|
||||
FROM node:22-alpine AS build
|
||||
WORKDIR /app
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
# Copy package.json and your lockfile, here we add pnpm-lock.yaml for illustration
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
# Install dependencies
|
||||
RUN pnpm i
|
||||
|
||||
# Copy the project
|
||||
COPY nuxt.config.ts eslint.config.mjs ./
|
||||
COPY app ./app
|
||||
|
||||
ARG NODE_ENV=production
|
||||
ARG NUXT_PUBLIC_APP_URL
|
||||
ARG NUXT_PUBLIC_POCKETBASE_URL
|
||||
|
||||
ENV NODE_ENV=$NODE_ENV
|
||||
ENV NUXT_PUBLIC_APP_URL=$NUXT_PUBLIC_APP_URL
|
||||
ENV NUXT_PUBLIC_POCKETBASE_URL=$NUXT_PUBLIC_POCKETBASE_URL
|
||||
|
||||
# Build the project
|
||||
RUN pnpm run build
|
||||
|
||||
# Build Stage 2
|
||||
|
||||
FROM node:22-alpine
|
||||
WORKDIR /app
|
||||
|
||||
# Only `.output` folder is needed from the build stage
|
||||
COPY --from=build /app/.output/ ./
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
CMD ["node", "/app/server/index.mjs"]
|
||||
Reference in New Issue
Block a user