FROM node:20-alpine AS build WORKDIR /app RUN apk add --no-cache python3 make g++ curl COPY package.json package-lock.json ./ COPY prisma ./prisma RUN npm ci && npx prisma generate COPY . . ENV DATABASE_URL="file:./data/nexova.db" RUN mkdir -p data && npm run build FROM node:20-alpine WORKDIR /app ENV NODE_ENV=production PORT=7860 HOSTNAME=0.0.0.0 DATABASE_URL="file:/app/data/nexova.db" RUN apk add --no-cache curl sqlite COPY --from=build /app/.next/standalone ./ COPY --from=build /app/.next/static ./.next/static COPY --from=build /app/public ./public COPY scripts ./scripts RUN chmod +x scripts/*.sh && \ addgroup -g 1001 -S app && adduser -S app -u 1001 && \ mkdir -p /app/data && chown -R app:app /app USER app EXPOSE 7860 CMD ["sh", "scripts/start.sh"]