FROM node:20-alpine WORKDIR /app # Install dependencies for native modules RUN apk add --no-cache libc6-compat # Install bun RUN npm install -g bun # Copy package files COPY package.json bun.lock* ./ # Install dependencies RUN bun install --frozen-lockfile || bun install # Copy source files COPY . . # Generate Prisma client RUN bunx prisma generate # Build the application RUN bun run build # Create data directory RUN mkdir -p /app/data # Environment variables ENV NODE_ENV=production ENV DATABASE_URL="file:/app/data/sofia.db" ENV PORT=3000 ENV HOST=0.0.0.0 EXPOSE 3000 CMD ["bun", "run", "start"]