Files
ukmesh/Dockerfile.backend
T

18 lines
593 B
Docker

# Backend only — API, WebSocket, MQTT ingestion, DB
FROM node:20-alpine AS backend-builder
WORKDIR /build/backend
COPY backend/package.json ./
RUN npm install
COPY backend/ ./
RUN npm run build
FROM node:20-alpine AS runtime
WORKDIR /app
COPY backend/package.json ./
RUN npm install --omit=dev && npm cache clean --force
COPY --from=backend-builder /build/backend/dist ./dist
COPY --from=backend-builder /build/backend/src/db/schema.sql ./dist/db/schema.sql
COPY --from=backend-builder /build/backend/src/db/owner-auth.sql ./dist/db/owner-auth.sql
EXPOSE 3000
CMD ["node", "dist/index.js"]