feat: working E2E container stack with Node-RED + InfluxDB + Grafana
- 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>
This commit is contained in:
@@ -1,18 +1,29 @@
|
||||
FROM nodered/node-red:latest
|
||||
|
||||
WORKDIR /usr/src/node-red
|
||||
# Switch to root for setup
|
||||
USER root
|
||||
|
||||
# Copy package files and nodes source
|
||||
COPY package.json ./
|
||||
COPY nodes/ ./nodes/
|
||||
# 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 from git+https to local file path
|
||||
RUN sed -i 's|"generalFunctions": "git+https://[^"]*"|"generalFunctions": "file:./nodes/generalFunctions"|' package.json
|
||||
# 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
|
||||
|
||||
# Install dependencies (ignore scripts to avoid postinstall git checkout)
|
||||
RUN npm install --ignore-scripts
|
||||
# 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 test/e2e/flows.json /data/flows.json
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user