Files
EasyFlow/Dockerfile
陈子默 29f82ed1f0 feat: 支持工作流代码节点 Python 执行引擎
- easyflow-module-ai: 新增 PythonRuntimeEngine、不可用引擎降级实现与引擎能力服务

- easyflow-module-ai: 在 TinyFlowConfigService 注册 python/py 引擎并增加启动探测与可用性日志

- easyflow-api: 新增 /api/v1/workflow/supportedCodeEngines 能力查询接口

- easyflow-starter: 增加 node.code-engine.python 配置项默认值

- Dockerfile: 安装 python3 运行时以支持容器内执行

- test: 增加 PythonRuntimeEngineTest 覆盖成功、语法错误、超时、输出限制、命令缺失场景

- chore(ui-admin): 更新 cspell 词典
2026-03-01 19:59:53 +08:00

26 lines
863 B
Docker

FROM eclipse-temurin:17-jre
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS=""
ENV EASYFLOW_JAR_PATH=/app/easyflow.jar
ENV EASYFLOW_CONFIG_PATH=file:/app/application.yml
ENV EASYFLOW_LOG_FILE=/app/logs/app.log
WORKDIR /app
RUN useradd --system --create-home easyflow && \
apt-get update && \
apt-get install -y --no-install-recommends python3 && \
rm -rf /var/lib/apt/lists/* && \
mkdir -p /app/logs && \
chown -R easyflow:easyflow /app
USER easyflow
VOLUME ["/app/logs"]
EXPOSE 8111
ENTRYPOINT ["sh", "-c", "if [ ! -f \"${EASYFLOW_JAR_PATH}\" ]; then echo \"ERROR: easyflow jar not found: ${EASYFLOW_JAR_PATH}\"; exit 1; fi; java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar \"${EASYFLOW_JAR_PATH}\" --spring.config.location=\"${EASYFLOW_CONFIG_PATH}\" --logging.file.name=\"${EASYFLOW_LOG_FILE}\""]