diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1d438fb23..4ea516b58 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -48,7 +48,8 @@ jobs: - name: Build ragflow:dev-slim run: | RUNNER_WORKSPACE_PREFIX=${RUNNER_WORKSPACE_PREFIX:-$HOME} - cp -r ${RUNNER_WORKSPACE_PREFIX}/huggingface.co ${RUNNER_WORKSPACE_PREFIX}/nltk_data ${RUNNER_WORKSPACE_PREFIX}/*.tar.gz . + cp -r ${RUNNER_WORKSPACE_PREFIX}/huggingface.co ${RUNNER_WORKSPACE_PREFIX}/nltk_data . + sudo docker pull ubuntu:24.04 sudo docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim . - name: Build ragflow:dev diff --git a/Dockerfile b/Dockerfile index 235473f75..c9418b154 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ FROM ubuntu:24.04 AS base USER root +ARG ARCH=amd64 ENV LIGHTEN=0 WORKDIR /ragflow @@ -21,13 +22,11 @@ RUN --mount=type=cache,id=ragflow_base_apt,target=/var/cache/apt,sharing=locked && pip3 install --user --break-system-packages poetry-plugin-pypi-mirror --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ \ && rm -rf /var/lib/apt/lists/* -RUN --mount=type=bind,source=openssl-1.1.1w.tar.gz,target=/root/openssl-1.1.1w.tar.gz \ - echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf \ - && echo '/usr/local/lib64' >> /etc/ld.so.conf.d/local.conf \ - && cd /root && tar xzf openssl-1.1.1w.tar.gz \ - && cd openssl-1.1.1w && ./config --prefix=/usr/local/openssl11 --openssldir=/usr/local/openssl11 shared \ - && make -j && make install \ - && ldconfig && cd /root && rm -rf openssl-1.1.1w +# https://forum.aspose.com/t/aspose-slides-for-net-no-usable-version-of-libssl-found-with-linux-server/271344/13 +# aspose-slides on linux/arm64 is unavailable +RUN if [ "${ARCH}" = "amd64" ]; then \ + curl -o libssl1.deb http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb && dpkg -i libssl1.deb && rm -f libssl1.deb; \ + fi ENV PYTHONDONTWRITEBYTECODE=1 DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 diff --git a/Dockerfile.slim b/Dockerfile.slim index 6a656d5d4..4517ba95e 100644 --- a/Dockerfile.slim +++ b/Dockerfile.slim @@ -2,6 +2,7 @@ FROM ubuntu:24.04 AS base USER root +ARG ARCH=amd64 ENV LIGHTEN=1 WORKDIR /ragflow @@ -21,13 +22,11 @@ RUN --mount=type=cache,id=ragflow_base_apt,target=/var/cache/apt,sharing=locked && pip3 install --user --break-system-packages poetry-plugin-pypi-mirror --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ \ && rm -rf /var/lib/apt/lists/* -RUN --mount=type=bind,source=openssl-1.1.1w.tar.gz,target=/root/openssl-1.1.1w.tar.gz \ - echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf \ - && echo '/usr/local/lib64' >> /etc/ld.so.conf.d/local.conf \ - && cd /root && tar xzf openssl-1.1.1w.tar.gz \ - && cd openssl-1.1.1w && ./config --prefix=/usr/local/openssl11 --openssldir=/usr/local/openssl11 shared \ - && make -j && make install \ - && ldconfig && cd /root && rm -rf openssl-1.1.1w +# https://forum.aspose.com/t/aspose-slides-for-net-no-usable-version-of-libssl-found-with-linux-server/271344/13 +# aspose-slides on linux/arm64 is unavailable +RUN if [ "${ARCH}" = "amd64" ]; then \ + curl -o libssl1.deb http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb && dpkg -i libssl1.deb && rm -f libssl1.deb; \ + fi ENV PYTHONDONTWRITEBYTECODE=1 DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 diff --git a/download_deps.py b/download_deps.py index 265515c2b..8f855f366 100644 --- a/download_deps.py +++ b/download_deps.py @@ -3,11 +3,6 @@ from huggingface_hub import snapshot_download import nltk import os -import urllib.request - -urls = [ - "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz", -] repos = [ "InfiniFlow/text_concat_xgb_v1.0", @@ -25,12 +20,6 @@ def download_model(repo_id): if __name__ == "__main__": - for url in urls: - filename = url.split("/")[-1] - print(f"Downloading {url}...") - if not os.path.exists(filename): - urllib.request.urlretrieve(url, filename) - local_dir = os.path.abspath('nltk_data') for data in ['wordnet', 'punkt', 'punkt_tab']: print(f"Downloading nltk {data}...")