# Express API — build context must be the REPO ROOT (npm workspaces). FROM node:22-alpine WORKDIR /app # Install workspace dependencies first for better layer caching. COPY package.json package-lock.json ./ COPY apps/api/package.json ./apps/api/package.json RUN npm ci --omit=dev --workspace apps/api COPY apps/api ./apps/api WORKDIR /app/apps/api ENV NODE_ENV=production # Environment variables are injected by Coolify / docker-compose — no .env file needed. EXPOSE 3001 CMD ["node", "docker-entrypoint.js"]