# syntax=docker/dockerfile:1 FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN --mount=type=cache,target=/root/.npm \ npm install COPY tsconfig.json ./ COPY src ./src RUN npm run build FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN --mount=type=cache,target=/root/.npm \ npm install --omit=dev COPY --from=builder /app/dist ./dist EXPOSE 3020 ENV DATA_DIR=/app/data VOLUME /app/data CMD ["node", "dist/index.js"]