# Build stage FROM node:24-alpine AS builder WORKDIR /app COPY package.json package-lock.json ./ RUN npm install COPY . . RUN node ace build # Production stage FROM node:24-alpine AS production WORKDIR /app ENV NODE_ENV=production ENV PORT=8080 ENV HOST=0.0.0.0 COPY --from=builder /app/build ./ RUN npm install --omit=dev RUN addgroup -g 1001 -S appgroup && \ adduser -u 1001 -S appuser -G appgroup && \ mkdir -p /app/data /app/logs/tr069 && \ chown -R appuser:appgroup /app/data /app/logs USER appuser EXPOSE 8080 CMD ["node", "bin/server.js"]