- Remove SOAP from Docker stdout; route to per-device trace files only - Fix trace service paths using process.cwd() (/app/data/, /app/logs/tr069/) - Fix Docker volume permissions: dedicated /app/data & /app/logs/tr069 dirs - Add GET /api/v1/tr069-trace/:id/log endpoint (tail N lines) - Rewrite Tr069Trace.vue: clickable rows, dark log viewer, 3s auto-refresh - Add simulator-ui-env.js to public/ (remove from config/) - TR-181/InternetGatewayDevice dataModel auto-detection - Parameter writability config with W/R fallback default - Fix device_action_executor for GetParameterNames detection flow Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
34 lines
569 B
Docker
34 lines
569 B
Docker
# 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"]
|