Files
EVOLV/Dockerfile
znetsixe 6a6c04d34b Migrate to new Gitea instance (gitea.wbd-rd.nl)
- 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>
2026-03-04 21:07:04 +01:00

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"]