[0.1] Add scripts
This commit is contained in:
11
Dockerfile
Normal file
11
Dockerfile
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
FROM n8nio/runners:2.7.3
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN cd /opt/runners/task-runner-javascript && pnpm add moment uuid
|
||||||
|
|
||||||
|
RUN cd /opt/runners/task-runner-python && uv pip install requests pillow
|
||||||
|
|
||||||
|
COPY n8n-task-runners.json /etc/n8n-task-runners.json
|
||||||
|
|
||||||
|
USER runner
|
||||||
69
docker-compose.yml
Normal file
69
docker-compose.yml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
services:
|
||||||
|
n8n-postgres:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: postgres
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- n8n-net
|
||||||
|
environment:
|
||||||
|
- POSTGRES_PASSWORD=mypassword
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql
|
||||||
|
|
||||||
|
n8n:
|
||||||
|
image: n8nio/n8n:2.7.3
|
||||||
|
container_name: n8n
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- n8n-net
|
||||||
|
ports:
|
||||||
|
- "5678:5678"
|
||||||
|
environment:
|
||||||
|
- GENERIC_TIMEZONE=Asia/Jakarta
|
||||||
|
- TZ=Asia/Jakarta
|
||||||
|
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
||||||
|
- N8N_RUNNERS_ENABLED=true
|
||||||
|
- N8N_RUNNERS_MODE=external
|
||||||
|
- N8N_RUNNERS_BROKER_LISTEN_ADDRESS=0.0.0.0
|
||||||
|
- N8N_RUNNERS_AUTH_TOKEN=n8n-secret
|
||||||
|
- N8N_NATIVE_PYTHON_RUNNER=true
|
||||||
|
- N8N_COMMUNITY_PACKAGES_ENABLED=true
|
||||||
|
- N8N_RUNNERS_EXTERNAL_ALLOW=pillow
|
||||||
|
volumes:
|
||||||
|
- n8n_data:/home/node/.n8n
|
||||||
|
depends_on:
|
||||||
|
- n8n-postgres
|
||||||
|
|
||||||
|
task-runners:
|
||||||
|
build: .
|
||||||
|
container_name: n8n-runners
|
||||||
|
networks:
|
||||||
|
- n8n-net
|
||||||
|
environment:
|
||||||
|
- N8N_RUNNERS_TASK_BROKER_URI=http://n8n:5679
|
||||||
|
- N8N_RUNNERS_AUTH_TOKEN=n8n-secret
|
||||||
|
depends_on:
|
||||||
|
- n8n
|
||||||
|
|
||||||
|
stirling-pdf:
|
||||||
|
image: stirlingtools/stirling-pdf:latest-ultra-lite
|
||||||
|
container_name: stirling-pdf
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
networks:
|
||||||
|
- n8n-net
|
||||||
|
environment:
|
||||||
|
- DONT_LOG_SENSITIVE_INFO=true
|
||||||
|
|
||||||
|
networks:
|
||||||
|
n8n-net:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
n8n_data:
|
||||||
|
external: true
|
||||||
|
postgres_data:
|
||||||
|
external: true
|
||||||
56
n8n-task-runners.json
Normal file
56
n8n-task-runners.json
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"task-runners": [
|
||||||
|
{
|
||||||
|
"runner-type": "javascript",
|
||||||
|
"workdir": "/home/runner",
|
||||||
|
"command": "/usr/local/bin/node",
|
||||||
|
"args": [
|
||||||
|
"--disallow-code-generation-from-strings",
|
||||||
|
"--disable-proto=delete",
|
||||||
|
"/opt/runners/task-runner-javascript/dist/start.js"
|
||||||
|
],
|
||||||
|
"health-check-server-port": "5681",
|
||||||
|
"allowed-env": [
|
||||||
|
"PATH",
|
||||||
|
"GENERIC_TIMEZONE",
|
||||||
|
"NODE_OPTIONS",
|
||||||
|
"N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT",
|
||||||
|
"N8N_RUNNERS_TASK_TIMEOUT",
|
||||||
|
"N8N_RUNNERS_MAX_CONCURRENCY",
|
||||||
|
"N8N_SENTRY_DSN",
|
||||||
|
"N8N_VERSION",
|
||||||
|
"ENVIRONMENT",
|
||||||
|
"DEPLOYMENT_NAME",
|
||||||
|
"HOME"
|
||||||
|
],
|
||||||
|
"env-overrides": {
|
||||||
|
"NODE_FUNCTION_ALLOW_BUILTIN": "crypto",
|
||||||
|
"NODE_FUNCTION_ALLOW_EXTERNAL": "moment",
|
||||||
|
"N8N_RUNNERS_HEALTH_CHECK_SERVER_HOST": "0.0.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"runner-type": "python",
|
||||||
|
"workdir": "/home/runner",
|
||||||
|
"command": "/opt/runners/task-runner-python/.venv/bin/python",
|
||||||
|
"args": ["-m", "src.main"],
|
||||||
|
"health-check-server-port": "5682",
|
||||||
|
"allowed-env": [
|
||||||
|
"PATH",
|
||||||
|
"N8N_RUNNERS_LAUNCHER_LOG_LEVEL",
|
||||||
|
"N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT",
|
||||||
|
"N8N_RUNNERS_TASK_TIMEOUT",
|
||||||
|
"N8N_RUNNERS_MAX_CONCURRENCY",
|
||||||
|
"N8N_SENTRY_DSN",
|
||||||
|
"N8N_VERSION",
|
||||||
|
"ENVIRONMENT",
|
||||||
|
"DEPLOYMENT_NAME"
|
||||||
|
],
|
||||||
|
"env-overrides": {
|
||||||
|
"PYTHONPATH": "/opt/runners/task-runner-python",
|
||||||
|
"N8N_RUNNERS_STDLIB_ALLOW": "re,io,os,base64,json",
|
||||||
|
"N8N_RUNNERS_EXTERNAL_ALLOW": "requests,pillow,PIL"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user