FROM node:22-alpine

# Install native build tools for bcrypt
RUN apk add --no-cache python3 make g++

WORKDIR /app

COPY package*.json ./
RUN npm ci

COPY tsconfig.json ./
COPY src ./src
COPY public ./public

RUN mkdir -p /app/data/uploads

EXPOSE 3000

CMD ["node", "--import", "tsx", "src/index.ts"]
