- Fix Dockerfile.e2e to install EVOLV properly in Node-RED /data/ - Add measurement node E2E test flow with scaling (4-20mA to 0-5m) - Add Grafana health check to run-e2e.sh - Guard pumpingStation demo IIFE with require.main check - All 10 EVOLV nodes load successfully in containerized Node-RED Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
30 lines
889 B
Docker
30 lines
889 B
Docker
FROM nodered/node-red:latest
|
|
|
|
# Switch to root for setup
|
|
USER root
|
|
|
|
# Copy EVOLV directly into where Node-RED looks for custom nodes
|
|
COPY package.json /data/node_modules/EVOLV/package.json
|
|
COPY nodes/ /data/node_modules/EVOLV/nodes/
|
|
|
|
# Rewrite generalFunctions dependency to local file path (no-op if already local)
|
|
RUN sed -i 's|"generalFunctions": "git+https://[^"]*"|"generalFunctions": "file:./nodes/generalFunctions"|' \
|
|
/data/node_modules/EVOLV/package.json
|
|
|
|
# Fix ownership for node-red user
|
|
RUN chown -R node-red:root /data
|
|
|
|
USER node-red
|
|
|
|
# Install EVOLV's own dependencies inside the EVOLV package directory
|
|
WORKDIR /data/node_modules/EVOLV
|
|
RUN npm install --ignore-scripts --production
|
|
|
|
# Copy test flows into Node-RED data directory
|
|
COPY --chown=node-red:root test/e2e/flows.json /data/flows.json
|
|
|
|
# Reset workdir to Node-RED default
|
|
WORKDIR /usr/src/node-red
|
|
|
|
EXPOSE 1880
|