# s2s-reasoning-engine: Node-RED 5.0 custom image # Use the official Node-RED 5.x Alpine image to keep the image small. FROM nodered/node-red:5.0.3 # Default Node-RED port, exposed to the container network. EXPOSE 1880 # 1) Install additional nodes in the Node-RED user data directory. # - node-red-contrib-openai: native Chat Completions / Embeddings integration # - node-red-contrib-cache: optional in-memory cache for Aquachile data # - node-red-node-rbe: report-by-exception event deduplication RUN cd /data && npm install --no-audit --no-fund \ node-red-contrib-openai@0.11.0 \ node-red-contrib-cache@1.1.1 \ node-red-node-rbe@0.5.0 # 2) Copy the configuration and initial flows. COPY settings.js /data/settings.js COPY flows.json /data/flows.json # 3) Load static flows with projects and authentication disabled for development. # Enable adminAuth in settings.js for production. ENV NODE_RED_FLOWS_FILE=/data/flows.json ENV NODE_RED_CREDENTIAL_SECRET=s2s-reasoning-dev-secret ENV FLOWS=/data/flows.json # Start Node-RED. CMD ["npm", "start", "--", "--userDir", "/data", "--settings", "/data/settings.js"]