# ===== Server ===== # Port the sandbox server listens on SANDBOX_PORT=3000 # Auth token for API requests (empty = no auth) SANDBOX_TOKEN= # ===== Logger ===== # 日志等级: trace | debug | info | warning | error | fatal LOG_ENABLE_CONSOLE=true LOG_CONSOLE_LEVEL=info LOG_ENABLE_OTEL=false LOG_OTEL_LEVEL=info LOG_OTEL_SERVICE_NAME=fastgpt-client LOG_OTEL_URL=http://localhost:4318/v1/logs # ===== Resource Limits ===== # Execution timeout per request (ms) SANDBOX_MAX_TIMEOUT=60000 # Maximum allowed memory per user code execution (MB) # Note: System automatically adds 50MB for runtime overhead # Actual process limit = SANDBOX_MAX_MEMORY_MB + 50MB SANDBOX_MAX_MEMORY_MB=256 # ===== Process Pool ===== # Number of pre-warmed worker processes (JS + Python) SANDBOX_POOL_SIZE=20 # ===== Network Request Limits ===== # Whether to check if the request is to a private network CHECK_INTERNAL_IP=false # Maximum number of HTTP requests per execution SANDBOX_REQUEST_MAX_COUNT=30 # Timeout for each outbound HTTP request (ms) SANDBOX_REQUEST_TIMEOUT=60000 # Maximum response body size for outbound requests SANDBOX_REQUEST_MAX_RESPONSE_MB=10 # Maximum request body size for outbound requests (MB) SANDBOX_REQUEST_MAX_BODY_MB=5 # ===== Module Control ===== # JS allowed modules whitelist (comma-separated) SANDBOX_JS_ALLOWED_MODULES=lodash,dayjs,moment,uuid,crypto-js,qs,url,querystring # Python allowed modules whitelist (comma-separated) SANDBOX_PYTHON_ALLOWED_MODULES=math,cmath,decimal,fractions,random,statistics,collections,array,heapq,bisect,queue,copy,itertools,functools,operator,string,re,difflib,textwrap,unicodedata,codecs,datetime,time,calendar,_strptime,json,csv,base64,binascii,struct,hashlib,hmac,secrets,uuid,typing,abc,enum,dataclasses,contextlib,pprint,weakref,numpy,pandas,matplotlib