mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
ci: Support adding custom JS and Python dependencies in the runners image (#19220)
This commit is contained in:
@@ -4,9 +4,22 @@ ARG PYTHON_VERSION=3.13
|
||||
# ==============================================================================
|
||||
# STAGE 1: JavaScript runner (@n8n/task-runner) artifact from CI
|
||||
# ==============================================================================
|
||||
FROM alpine:3.22.1 AS app-artifact-processor
|
||||
FROM node:${NODE_VERSION}-alpine AS javascript-runner-builder
|
||||
COPY ./dist/task-runner-javascript /app/task-runner-javascript
|
||||
|
||||
WORKDIR /app/task-runner-javascript
|
||||
|
||||
RUN corepack enable pnpm
|
||||
|
||||
# Install extra runtime-only npm packages. Allow usage in the Code node via
|
||||
# 'NODE_FUNCTION_ALLOW_EXTERNAL' env variable on n8n-task-runners.json.
|
||||
RUN rm -f node_modules/.modules.yaml
|
||||
RUN mv package.json package.json.bak
|
||||
COPY docker/images/runners/package.json /app/task-runner-javascript/package.json
|
||||
RUN pnpm install --prod --no-lockfile --silent
|
||||
RUN mv package.json extras.json
|
||||
RUN mv package.json.bak package.json
|
||||
|
||||
# ==============================================================================
|
||||
# STAGE 2: Python runner build (@n8n/task-runner-python) with uv
|
||||
# Produces a relocatable venv tied to the python version used
|
||||
@@ -48,6 +61,11 @@ RUN uv sync \
|
||||
--frozen \
|
||||
--no-editable
|
||||
|
||||
# Install extra runtime-only Python packages. Allow usage in the Code node via
|
||||
# 'N8N_RUNNERS_EXTERNAL_ALLOW' env variable on n8n-task-runners.json.
|
||||
COPY docker/images/runners/extras.txt /app/task-runner-python/extras.txt
|
||||
RUN uv pip install -r /app/task-runner-python/extras.txt
|
||||
|
||||
# ==============================================================================
|
||||
# STAGE 3: Task Runner Launcher download
|
||||
# ==============================================================================
|
||||
@@ -99,7 +117,7 @@ RUN addgroup -g 1000 -S runner \
|
||||
&& adduser -u 1000 -S -G runner -h /home/runner -D runner
|
||||
WORKDIR /home/runner
|
||||
|
||||
COPY --from=app-artifact-processor /app/task-runner-javascript /opt/runners/task-runner-javascript
|
||||
COPY --from=javascript-runner-builder /app/task-runner-javascript /opt/runners/task-runner-javascript
|
||||
COPY --from=python-runner-builder /app/task-runner-python /opt/runners/task-runner-python
|
||||
COPY --from=launcher-downloader /launcher-bin/* /usr/local/bin/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user