# 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 .npmrc ./
COPY package.json pnpm-lock.yaml ./

# Install dependencies
RUN pnpm i

# Copy the entire project
COPY . ./

# Build the project
RUN pnpm run build

# Build Stage 2

FROM node:22-alpine
WORKDIR /app

RUN corepack enable

# Only `.output` folder is needed from the build stage
COPY --from=build /app/.output/ ./
RUN mkdir -p /app/server/db/
COPY --from=build /app/db/database.db /app/server/db/
WORKDIR /app/server
RUN pnpm i
# Change the port and host
ENV PORT=33550
ENV HOST=0.0.0.0

EXPOSE 33550

CMD ["node", "/app/server/index.mjs"]
