25 lines
955 B
Docker
25 lines
955 B
Docker
FROM node:22-alpine AS deps
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json* ./
|
|
COPY apps/api/package.json apps/api/package.json
|
|
COPY packages/db/package.json packages/db/package.json
|
|
RUN npm install
|
|
|
|
FROM deps AS build
|
|
COPY . .
|
|
RUN npm run build --workspace @fedeo/push-db && npm run build --workspace @fedeo/push-api
|
|
|
|
FROM node:22-alpine
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
ENV DRIZZLE_MIGRATIONS_FOLDER=/app/packages/db/drizzle
|
|
COPY --from=deps /app/node_modules ./node_modules
|
|
COPY --from=build /app/apps/api/dist ./apps/api/dist
|
|
COPY --from=build /app/packages/db/dist ./packages/db/dist
|
|
COPY --from=build /app/packages/db/drizzle ./packages/db/drizzle
|
|
COPY --from=build /app/package.json ./package.json
|
|
COPY --from=build /app/apps/api/package.json ./apps/api/package.json
|
|
COPY --from=build /app/packages/db/package.json ./packages/db/package.json
|
|
EXPOSE 4020
|
|
CMD ["sh", "-c", "node packages/db/dist/src/migrate.js && node apps/api/dist/index.js"]
|