Spaces:
Running
Running
| # ----------------------------- | |
| # ๋น๋ ๋จ๊ณ | |
| FROM node:20 AS build | |
| WORKDIR /app | |
| # ํจํค์ง ์ค์น | |
| COPY package*.json ./ | |
| RUN npm install | |
| # ์์ค ๋ณต์ฌ | |
| COPY . . | |
| # Prisma Client ์์ฑ | |
| RUN npx prisma generate | |
| # TypeScript ๋น๋ + dist ํ์ธ | |
| RUN npm run build && ls -al dist | |
| # ----------------------------- | |
| # ๋ฐํ์ ๋จ๊ณ | |
| FROM node:20 | |
| WORKDIR /app | |
| # package.json๋ง ๋ณต์ฌํด์ prod deps ์ค์น | |
| COPY package*.json ./ | |
| RUN npm install --omit=dev | |
| # ๋น๋ ์ฐ์ถ๋ฌผ๊ณผ Prisma Client ๋ณต์ฌ | |
| COPY --from=build /app/dist ./dist | |
| COPY --from=build /app/node_modules/.prisma ./node_modules/.prisma | |
| COPY --from=build /app/prisma ./prisma | |
| # ํ๊ฒฝ ๋ณ์ ๋ฐ ํฌํธ ์ค์ | |
| ENV NODE_ENV=production | |
| EXPOSE 7860 | |
| # ์ฑ ์คํ | |
| CMD ["node", "dist/index.js"] |