同步操作将从 飞致云/SQLBot 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# Build sqlbotFROM ghcr.io/1panel-dev/maxkb-vector-model:v1.0.1 AS vector-modelFROM --platform=${BUILDPLATFORM} registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-base:latest AS sqlbot-ui-builderENV SQLBOT_HOME=/opt/sqlbotENV APP_HOME=${SQLBOT_HOME}/appENV UI_HOME=${SQLBOT_HOME}/frontendENV DEBIAN_FRONTEND=noninteractiveRUN mkdir -p ${APP_HOME} ${UI_HOME}COPY frontend /tmp/frontendRUN cd /tmp/frontend && npm install && npm run build && mv dist ${UI_HOME}/distFROM registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-base:latest AS sqlbot-builder# Set build environment variablesENV PYTHONUNBUFFERED=1ENV SQLBOT_HOME=/opt/sqlbotENV APP_HOME=${SQLBOT_HOME}/appENV UI_HOME=${SQLBOT_HOME}/frontendENV PYTHONPATH=${SQLBOT_HOME}/appENV PATH="${APP_HOME}/.venv/bin:$PATH"ENV UV_COMPILE_BYTECODE=1ENV UV_LINK_MODE=copyENV DEBIAN_FRONTEND=noninteractive# Create necessary directoriesRUN mkdir -p ${APP_HOME} ${UI_HOME}WORKDIR ${APP_HOME}COPY --from=sqlbot-ui-builder ${UI_HOME} ${UI_HOME}# Install dependenciesRUN test -f "./uv.lock" && \--mount=type=cache,target=/root/.cache/uv \--mount=type=bind,source=backend/uv.lock,target=uv.lock \--mount=type=bind,source=backend/pyproject.toml,target=pyproject.toml \uv sync --frozen --no-install-project || echo "uv.lock file not found, skipping intermediate-layers"COPY ./backend ${APP_HOME}# Final sync to ensure all dependencies are installedRUN --mount=type=cache,target=/root/.cache/uv \uv sync --extra cpu# Build g2-ssrFROM registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-base:latest AS ssr-builderWORKDIR /app# Install build dependenciesRUN apt-get update && apt-get install -y --no-install-recommends \build-essential python3 pkg-config \libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev \libpixman-1-dev libfreetype6-dev \&& rm -rf /var/lib/apt/lists/*# configure npmRUN npm config set fund false \&& npm config set audit false \&& npm config set progress falseCOPY g2-ssr/app.js g2-ssr/package.json /app/COPY g2-ssr/charts/* /app/charts/RUN npm install# Runtime stageFROM registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-python-pg:latestRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo "Asia/Shanghai" > /etc/timezone# Set runtime environment variablesENV PYTHONUNBUFFERED=1ENV SQLBOT_HOME=/opt/sqlbotENV PYTHONPATH=${SQLBOT_HOME}/appENV PATH="${SQLBOT_HOME}/app/.venv/bin:$PATH"ENV POSTGRES_DB=sqlbotENV POSTGRES_USER=rootENV POSTGRES_PASSWORD=Password123@pg# Copy necessary files from builderCOPY start.sh /opt/sqlbot/app/start.shCOPY g2-ssr/*.ttf /usr/share/fonts/truetype/liberation/COPY --from=sqlbot-builder ${SQLBOT_HOME} ${SQLBOT_HOME}COPY --from=ssr-builder /app /opt/sqlbot/g2-ssrCOPY --from=vector-model /opt/maxkb/app/model /opt/sqlbot/modelsWORKDIR ${SQLBOT_HOME}/appRUN mkdir -p /opt/sqlbot/images /opt/sqlbot/g2-ssrEXPOSE 3000 8000 8001 5432# Add health checkHEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \CMD python3 -c "import os, urllib.request; urllib.request.urlopen(f'http://localhost:8000/{os.environ.get(\"CONTEXT_PATH\", \"\")}', timeout=3)" || exit 1ENTRYPOINT ["sh", "start.sh"]
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。