1- FROM ghcr.io/1panel-dev/maxkb-vector-model:v2.0.2 AS vector-model
21FROM node:18-alpine3.18 AS web-build
32COPY ui ui
43RUN cd ui && \
54 npm install && \
65 NODE_OPTIONS="--max-old-space-size=4096" npm run build-only && \
76 NODE_OPTIONS="--max-old-space-size=4096" npm run build-only-chat && \
87 find . -maxdepth 1 ! -name '.' ! -name 'dist' ! -name 'public' -exec rm -rf {} +
8+
99FROM ghcr.io/1panel-dev/maxkb-base:python3.11-pg17.5 AS stage-build
1010
1111ARG DEPENDENCIES=" \
@@ -17,13 +17,10 @@ RUN apt-get update && \
1717 rm -rf /var/lib/apt/lists/*
1818
1919COPY . /opt/maxkb-app
20- RUN mkdir -p /opt/maxkb-app /opt/maxkb-app/model && \
21- rm -rf /opt/maxkb-app/ui
22-
23- COPY --from=web-build ui /opt/maxkb-app/ui
2420
2521WORKDIR /opt/maxkb-app
26- RUN python3 -m venv /opt/py3 && \
22+ RUN rm -rf /opt/maxkb-app/ui && \
23+ python3 -m venv /opt/py3 && \
2724 pip install poetry==2.0.0 --break-system-packages && \
2825 poetry config virtualenvs.create false && \
2926 . /opt/py3/bin/activate && \
@@ -64,15 +61,11 @@ ENV MAXKB_VERSION="${DOCKER_IMAGE_TAG} (build at ${BUILD_AT}, commit: ${GITHUB_C
6461
6562WORKDIR /opt/maxkb-app
6663COPY --from=stage-build /opt/maxkb-app /opt/maxkb-app
64+ COPY --from=web-build ui /opt/maxkb-app/ui
6765COPY --from=stage-build /opt/py3 /opt/py3
68- COPY --from=vector-model /opt/maxkb-app/model /opt/maxkb-app/model
6966
7067RUN chmod 755 /tmp && \
71- find /opt/maxkb-app -mindepth 1 -not -name 'sandbox' -exec chmod 700 {} + && \
72- useradd --no-create-home --home /opt/maxkb-app/sandbox sandbox -g root && \
73- chown -R sandbox:root /opt/maxkb-app/sandbox && \
74- chmod g-x /usr/local/bin/* /usr/bin/* /bin/* /usr/sbin/* /sbin/* /usr/lib/postgresql/17/bin/* && \
75- chmod g+x /usr/local/bin/python*
68+ find /opt/maxkb-app -mindepth 1 -not -name 'sandbox' -exec chmod 700 {} +
7669
7770EXPOSE 8080
7871VOLUME /opt/maxkb
0 commit comments