태스크 러너 환경 변수
n8n v2.29요약
메인 n8n 이미지와 달리, 태스크 러너 이미지에서는 시크릿에 대해 파일 기반 구성을 사용할 수 없습니다. 태스크 러너는 Code node에 정의된 코드를 실행합니다.
Note
파일 기반 구성
메인 n8n 이미지와 달리, 태스크 러너 이미지에서는 시크릿에 대해 파일 기반 구성을 사용할 수 없습니다. 즉, _FILE 접미사가 추가된 변수는 인식되지 않습니다.
태스크 러너는 Code node에 정의된 코드를 실행합니다.
n8n 인스턴스 환경 변수#
| 변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
N8N_RUNNERS_ENABLED |
Boolean | false |
태스크 러너 활성화 여부입니다. |
N8N_RUNNERS_MODE |
Enum string: internal, external |
internal |
태스크 러너를 실행하는 방식입니다. internal은 n8n이 태스크 러너를 자식 프로세스로 실행함을 의미합니다. external은 외부 오케스트레이터가 태스크 러너를 실행함을 의미합니다. |
N8N_RUNNERS_AUTH_TOKEN |
String | 임의 문자열 | 태스크 러너가 n8n에 인증하는 데 사용하는 공유 시크릿입니다. external 모드를 사용할 때 필요합니다. |
N8N_RUNNERS_BROKER_PORT |
Number | 5679 |
태스크 브로커가 태스크 러너 연결을 수신하는 포트입니다. |
N8N_RUNNERS_BROKER_LISTEN_ADDRESS |
String | 127.0.0.1 |
태스크 브로커가 수신 대기하는 주소입니다. |
N8N_RUNNERS_MAX_PAYLOAD |
Number | 1 073 741 824 |
태스크 브로커와 태스크 러너 간 통신에 대한 최대 페이로드 크기(바이트)입니다. |
N8N_RUNNERS_MAX_OLD_SPACE_SIZE |
String | 태스크 러너에 사용할 --max-old-space-size 옵션입니다(MB 단위). 기본적으로 Node.js는 사용 가능한 메모리를 기준으로 이 값을 설정합니다. |
|
N8N_RUNNERS_MAX_CONCURRENCY |
Number | 5 |
태스크 러너가 한 번에 실행할 수 있는 동시 태스크 수입니다. |
N8N_RUNNERS_TASK_TIMEOUT |
Number | 300 |
러너가 태스크를 중지하고 재시작하기 전까지 태스크가 실행될 수 있는 최대 시간(초)입니다. 이 값은 0보다 커야 합니다. |
N8N_RUNNERS_HEARTBEAT_INTERVAL |
Number | 30 |
러너가 브로커에 하트비트를 보내야 하는 간격(초)입니다. 러너가 제시간에 하트비트를 보내지 않으면 태스크가 중지되고 러너가 재시작됩니다. 이 값은 0보다 커야 합니다. |
N8N_RUNNERS_INSECURE_MODE |
Boolean | false |
안전하지 않은 JS 기능에 의존하는 모듈과의 호환성을 위해 태스크 러너의 모든 보안 조치를 비활성화할지 여부입니다. 프로덕션 환경에서는 사용을 권장하지 않습니다. |
N8N_RUNNERS_TASK_REQUEST_TIMEOUT |
Number | 60 |
태스크 요청이 러너를 사용할 수 있게 될 때까지 대기할 수 있는 시간(초)입니다. 이를 통해 사용 가능한 러너가 없을 때 워크플로가 무기한 멈추는 것을 방지합니다. 0보다 커야 합니다. |
태스크 러너 런처 환경 변수#
| 변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
N8N_RUNNERS_LAUNCHER_LOG_LEVEL |
Enum string: debug, info, warn, error |
info |
표시할 로그 메시지의 수준입니다. |
N8N_RUNNERS_AUTH_TOKEN |
String | - | n8n에 인증하는 데 사용하는 공유 시크릿입니다. |
N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT |
Number | 15 |
유휴 상태인 러너를 종료하기 전 대기하는 시간(초)입니다. |
N8N_RUNNERS_TASK_BROKER_URI |
String | http://127.0.0.1:5679 |
태스크 브로커 서버(n8n 인스턴스)의 URI입니다. |
N8N_RUNNERS_LAUNCHER_HEALTH_CHECK_PORT |
Number | 5680 |
런처의 상태 확인 서버용 포트입니다. |
N8N_RUNNERS_MAX_PAYLOAD |
Number | 1 073 741 824 |
태스크 브로커와 태스크 러너 간 통신에 대한 최대 페이로드 크기(바이트)입니다. |
N8N_RUNNERS_MAX_CONCURRENCY |
Number | 5 |
태스크 러너가 한 번에 실행할 수 있는 동시 태스크 수입니다. |
태스크 러너 환경 변수(모든 언어)#
| 변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
N8N_RUNNERS_GRANT_TOKEN |
String | 임의 문자열 | 러너가 태스크 브로커에 인증하는 데 사용하는 토큰입니다. 이는 런처가 자동으로 제공합니다. |
N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT |
Number | 15 |
유휴 상태인 러너를 종료하기 전 대기하는 시간(초)입니다. |
N8N_RUNNERS_TASK_BROKER_URI |
String | http://127.0.0.1:5679 |
태스크 브로커 서버(n8n 인스턴스)의 URI입니다. |
N8N_RUNNERS_LAUNCHER_HEALTH_CHECK_PORT |
Number | 5680 |
런처의 상태 확인 서버용 포트입니다. |
N8N_RUNNERS_MAX_PAYLOAD |
Number | 1 073 741 824 |
태스크 브로커와 태스크 러너 간 통신에 대한 최대 페이로드 크기(바이트)입니다. |
N8N_RUNNERS_MAX_CONCURRENCY |
Number | 5 |
태스크 러너가 한 번에 실행할 수 있는 동시 태스크 수입니다. |
태스크 러너 환경 변수(JavaScript)#
| 변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
NODE_FUNCTION_ALLOW_BUILTIN |
String | - | Code node에서 특정 빌트인 모듈을 임포트할 수 있도록 허용합니다. 모든 모듈을 허용하려면 *를 사용하세요. n8n은 기본적으로 모듈 임포트를 비활성화합니다. external 모드에서는 이를 컨테이너 환경 변수가 아니라 러너 구성 파일(/etc/n8n-task-runners.json)에 env-override로 설정하세요. |
NODE_FUNCTION_ALLOW_EXTERNAL |
String | - | Code node에서 특정 외부 모듈(n8n/node_modules)을 임포트할 수 있도록 허용합니다. n8n은 기본적으로 모듈 임포트를 비활성화합니다. external 모드에서는 이를 컨테이너 환경 변수가 아니라 러너 구성 파일(/etc/n8n-task-runners.json)에 env-override로 설정하세요. |
N8N_RUNNERS_ALLOW_PROTOTYPE_MUTATION |
Boolean | false |
외부 라이브러리에 대해 프로토타입 변형(prototype mutation)을 허용할지 여부입니다. 보안을 다소 완화하는 대신 런타임 프로토타입 변형에 의존하는 모듈(예: puppeteer)을 허용하려면 true로 설정하세요. |
GENERIC_TIMEZONE |
* | America/New_York |
n8n 인스턴스에 구성된 것과 동일한 기본 시간대입니다. |
NODE_OPTIONS |
String | - | Node.js에 대한 옵션입니다. |
N8N_RUNNERS_MAX_OLD_SPACE_SIZE |
String | 태스크 러너에 사용할 --max-old-space-size 옵션입니다(MB 단위). 기본적으로 Node.js는 사용 가능한 메모리를 기준으로 이 값을 설정합니다. |
태스크 러너 환경 변수(Python)#
| 변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
N8N_RUNNERS_STDLIB_ALLOW |
String | - | Code node에서 사용할 수 있는 Python 표준 라이브러리 모듈로, 해당 서브모듈도 포함합니다. 모든 표준 라이브러리 모듈을 허용하려면 *를 사용하세요. n8n은 기본적으로 모든 Python 표준 라이브러리 임포트를 비활성화합니다. external 모드에서는 이를 컨테이너 환경 변수가 아니라 러너 구성 파일(/etc/n8n-task-runners.json)에 env-override로 설정하세요. |
N8N_RUNNERS_EXTERNAL_ALLOW |
String | - | Code node에서 사용할 수 있도록 허용된 서드파티 Python 모듈로, 해당 서브모듈도 포함합니다. 모든 외부 모듈을 허용하려면 *를 사용하세요. n8n은 기본적으로 모든 서드파티 Python 모듈을 비활성화합니다. 서드파티 Python 모듈은 n8nio/runners 이미지에 포함되어 있어야 합니다. external 모드에서는 이를 컨테이너 환경 변수가 아니라 러너 구성 파일(/etc/n8n-task-runners.json)에 env-override로 설정하세요. |
N8N_RUNNERS_ALLOW_TRANSITIVE_IMPORTS |
Boolean | false |
허용 목록에 있는 패키지 자체 코드가 수행하는 임포트가 임포트 허용 목록(N8N_RUNNERS_EXTERNAL_ALLOW 및 N8N_RUNNERS_STDLIB_ALLOW 모두)을 건너뛸지 여부입니다. true로 설정하면 허용 목록에 있는 패키지가 각 모듈을 개별적으로 나열하지 않아도 그것이 임포트하는 항목(전이 종속성 및 표준 라이브러리)을 그대로 로드할 수 있습니다. 이는 내부 임포트가 다른 모듈을 끌어오는 패키지(예: pandas가 pytz를 임포트하거나, boto3가 dateutil을 임포트하는 경우)에 도움이 됩니다. Code node에서 직접 작성한 임포트는 여전히 허용 목록에 대해 검사됩니다. 이 기능을 활성화하면 이름이 지정된 패키지뿐만 아니라 설치된 모든 패키지의 임포트 동작을 신뢰하게 됩니다. 손상된 종속성이 허용 목록에서 차단할 모듈을 끌어올 수 있으므로, 러너 이미지에 설치된 패키지를 신뢰할 수 있는 경우에만 활성화하세요. external 모드에서는 이를 컨테이너 환경 변수가 아니라 러너 구성 파일(/etc/n8n-task-runners.json)에 env-override로 설정하세요. |
N8N_RUNNERS_BUILTINS_DENY |
String | eval,exec,compile,open,input,breakpoint,getattr,object,type,vars,setattr,delattr,hasattr,dir,memoryview,__build_class__,globals,locals |
Code node에서 사용할 수 없는 Python 빌트인입니다. 모든 빌트인을 허용하려면 빈 문자열로 설정하세요. |
N8N_BLOCK_RUNNER_ENV_ACCESS |
Boolean | true |
Python 코드 태스크 내에서 러너의 환경에 대한 접근을 차단할지 여부입니다. false로 설정하면 모든 Python 코드 노드 사용자가 os.environ을 통해 러너의 환경에 접근할 수 있습니다. 보안상의 이유로 환경 변수 접근은 기본적으로 차단됩니다. |