11# Build sqlbot
22FROM ghcr.io/1panel-dev/maxkb-vector-model:v1.0.1 AS vector-model
3- FROM registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-base:latest AS sqlbot-builder
3+ FROM --platform=${BUILDPLATFORM} registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-base:latest AS sqlbot-ui-builder
4+ ENV SQLBOT_HOME=/opt/sqlbot
5+ ENV APP_HOME=${SQLBOT_HOME}/app
6+ ENV UI_HOME=${SQLBOT_HOME}/frontend
7+ ENV DEBIAN_FRONTEND=noninteractive
8+
9+ RUN mkdir -p ${APP_HOME} ${UI_HOME}
10+
11+ COPY frontend /tmp/frontend
12+ RUN cd /tmp/frontend && npm install && npm run build && mv dist ${UI_HOME}/dist
413
14+
15+ FROM registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-base:latest AS sqlbot-builder
516# Set build environment variables
617ENV PYTHONUNBUFFERED=1
718ENV SQLBOT_HOME=/opt/sqlbot
@@ -18,10 +29,7 @@ RUN mkdir -p ${APP_HOME} ${UI_HOME}
1829
1930WORKDIR ${APP_HOME}
2031
21- COPY frontend /tmp/frontend
22-
23- RUN cd /tmp/frontend; npm install; npm run build; mv dist ${UI_HOME}/dist
24-
32+ COPY --from=sqlbot-ui-builder ${UI_HOME} ${UI_HOME}
2533# Install dependencies
2634RUN test -f "./uv.lock" && \
2735 --mount=type=cache,target=/root/.cache/uv \
@@ -33,16 +41,27 @@ COPY ./backend ${APP_HOME}
3341
3442# Final sync to ensure all dependencies are installed
3543RUN --mount=type=cache,target=/root/.cache/uv \
36- uv sync --extra cpu
44+ uv sync --extra cpu
3745
3846# Build g2-ssr
3947FROM registry.cn-qingdao.aliyuncs.com/dataease/sqlbot-base:latest AS ssr-builder
4048
4149WORKDIR /app
4250
51+ # Install build dependencies
52+ RUN apt-get update && apt-get install -y --no-install-recommends \
53+ build-essential python3 pkg-config \
54+ libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev \
55+ libpixman-1-dev libfreetype6-dev \
56+ && rm -rf /var/lib/apt/lists/*
57+
58+ # configure npm
59+ RUN npm config set fund false \
60+ && npm config set audit false \
61+ && npm config set progress false
62+
4363COPY g2-ssr/app.js g2-ssr/package.json /app/
4464COPY g2-ssr/charts/* /app/charts/
45-
4665RUN npm install
4766
4867# Runtime stage
0 commit comments