SuperAPI AI 工具集

dataapp-deployment

数据与分析

查看项目

更新于 10-16 09:57

技能介绍

用途:把 Node.js、Python 或其他语言的网页应用部署到 Keboola Data Apps,使用 keboola/data-app-python-js 基础镜像。架构为:公网 → Keboola 代理 → Docker 容器,容器内 Nginx 监听 8888 端口并反代到应用内部端口,Supervisord 管理应用进程,代码由 Git 克隆到 /app/。仅支持 ≥1024 端口;平台启动时向 / 发送 POST,应用需能处理。

必要目录:keboola-config/nginx/sites/default.conf(至少一个)、keboola-config/supervisord/services/*.conf(至少一个)、可执行的 setup.sh、Python 应用的 pyproject.toml。不要自行定义 [program:nginx],基础镜像已管理 Nginx。

主要能力:反代与 WebSocket/SSE 配置;Supervisord 启动 Streamlit、Flask/FastAPI、Gunicorn、Node.js 等;通过 dataApp.secrets 注入环境变量(导出时去 #、转大写、连字符变下划线);setup.sh 在启动时安装依赖。

用法要点:Python 必须用 uv 管理,正确命令为 cd /app && uv sync,Supervisord 中 Python 命令需加 uv run 前缀;Node.js 用 npm install。Nginx 反代目标端口要与应用一致,WebSocket 需加 Upgrade 头,SSE 需 proxy_buffering off。

限制:pip install 会被 PEP 668 阻止;端口 8888 由平台硬编码,应用应使用内部端口;路径须为绝对路径;认证由平台负责,通常无需自行加登录。资料未提供具体定价与配额信息。