Files
api/Dockerfile
2026-02-07 21:19:03 +00:00

21 lines
542 B
Docker

# syntax=docker/dockerfile:1.6
FROM node:22-alpine
WORKDIR /app
# Copy manifests first for better caching
COPY package*.json ./
# Install prod deps (works even if package-lock is missing or minimal)
RUN --mount=type=cache,target=/root/.npm npm install --omit=dev
# Copy the rest
COPY . .
ENV NODE_ENV=production
EXPOSE 3000
# Prisma client is generated on install, but ensure at runtime if needed:
# (Coolify/containers usually run as root in alpine; OK)
CMD ["sh","-c","node -e "console.log('API starting')" && node src/server.js"]