FROM node:20-alpine

RUN apk add --no-cache openssl ca-certificates

WORKDIR /app

RUN addgroup --system --gid 1001 nodejs && adduser --system --uid 1001 nextjs

# Copy standalone build (pre-built outside Docker)
COPY .next/standalone ./
COPY .next/static ./.next/static
COPY public ./public
COPY prisma ./prisma
COPY node_modules/.prisma ./node_modules/.prisma

RUN rm -f .env && mkdir -p /app/data && chown -R nextjs:nodejs /app /app/prisma/dev.db

USER nextjs
EXPOSE 3000

ENV NODE_ENV=production
ENV DATABASE_URL="file:./dev.db"

CMD ["node", "server.js"]
