- Update all submodule URLs from gitea.centraal.wbd-rd.nl to gitea.wbd-rd.nl - Add settler as proper submodule in .gitmodules - Add agent skills, function anchors, decisions, and improvements - Add Docker configuration and scripts - Add manuals and third_party docs - Update .gitignore with secrets and build artifacts - Remove stale .tgz build artifact Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
1.7 KiB
Docker
44 lines
1.7 KiB
Docker
########################################
|
|
# EVOLV — Node-RED Development Image
|
|
########################################
|
|
FROM nodered/node-red:latest
|
|
|
|
# Install curl for health checks
|
|
USER root
|
|
RUN apk add --no-cache curl
|
|
USER node-red
|
|
|
|
# Set working directory to the EVOLV bind mount location
|
|
WORKDIR /data/evolv
|
|
|
|
# -------------------------------------------------------
|
|
# Layer-cache: copy dependency manifests first
|
|
# -------------------------------------------------------
|
|
COPY --chown=node-red:node-red package.json package-lock.json* ./
|
|
|
|
# Copy generalFunctions early (it's a file: dependency)
|
|
COPY --chown=node-red:node-red nodes/generalFunctions/ ./nodes/generalFunctions/
|
|
|
|
# Install dependencies — skip scripts to avoid unused TensorFlow native build
|
|
RUN npm install --ignore-scripts
|
|
|
|
# Install Node-RED palette nodes used by demo flows
|
|
RUN cd /usr/src/node-red && npm install @flowfuse/node-red-dashboard
|
|
|
|
# -------------------------------------------------------
|
|
# Copy entrypoint and settings
|
|
# -------------------------------------------------------
|
|
COPY --chown=node-red:node-red docker/entrypoint.sh /data/evolv/docker/entrypoint.sh
|
|
COPY --chown=node-red:node-red docker/settings.js /data/evolv/docker/settings.js
|
|
|
|
# -------------------------------------------------------
|
|
# Health check: Node-RED admin API
|
|
# -------------------------------------------------------
|
|
HEALTHCHECK --interval=15s --timeout=5s --start-period=30s --retries=3 \
|
|
CMD curl -sf http://localhost:1880/nodes || exit 1
|
|
|
|
# -------------------------------------------------------
|
|
# Entrypoint
|
|
# -------------------------------------------------------
|
|
ENTRYPOINT ["sh", "/data/evolv/docker/entrypoint.sh"]
|