From 9325f0168698690649cbbdb8895a387cdc1c3d25 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 9 Apr 2025 13:38:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E4=BA=8E=E6=9E=84?= =?UTF-8?q?=E5=BB=BAWeb=E7=94=A8=E6=88=B7=E7=95=8C=E9=9D=A2=E7=9A=84?= =?UTF-8?q?=E5=BC=80=E6=BA=90=E5=BA=93open-webui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AI/open-webui/1.0/22.03-lts-sp4/Dockerfile | 47 +++++++++++++++++++ AI/open-webui/README.md | 31 +++++++++++++ AI/open-webui/doc/image-info.yml | 51 +++++++++++++++++++++ AI/open-webui/doc/picture/logo.png | Bin 0 -> 5367 bytes AI/open-webui/meta.yml | 2 + 5 files changed, 131 insertions(+) create mode 100644 AI/open-webui/1.0/22.03-lts-sp4/Dockerfile create mode 100644 AI/open-webui/README.md create mode 100644 AI/open-webui/doc/image-info.yml create mode 100644 AI/open-webui/doc/picture/logo.png create mode 100644 AI/open-webui/meta.yml diff --git a/AI/open-webui/1.0/22.03-lts-sp4/Dockerfile b/AI/open-webui/1.0/22.03-lts-sp4/Dockerfile new file mode 100644 index 0000000..41f97f8 --- /dev/null +++ b/AI/open-webui/1.0/22.03-lts-sp4/Dockerfile @@ -0,0 +1,47 @@ +FROM openeuler/openeuler:22.03-lts-sp4 + +WORKDIR /root + +RUN dnf install -y \ + git \ + wget \ + python3-pip + +RUN git clone --branch v0.1.108 https://github.com/open-webui/open-webui.git + +RUN ARCH=$(uname -m) && \ + if [ "$ARCH" = "x86_64" ]; then \ + echo "x86_64 架构" && \ + wget https://nodejs.org/download/release/v18.0.0/node-v18.0.0-linux-x64.tar.gz && \ + tar -xvf node-v18.0.0-linux-x64.tar.gz -C /usr/local && \ + ln -s /usr/local/node-v18.0.0-linux-x64/bin/node /usr/local/bin/node && \ + ln -s /usr/local/node-v18.0.0-linux-x64/bin/npm /usr/local/bin/npm ;\ + elif [ "$ARCH" = "aarch64" ]; then \ + echo "aarch64 架构" && \ + wget https://nodejs.org/download/release/v18.0.0/node-v18.0.0-linux-arm64.tar.gz && \ + tar -xvf node-v18.0.0-linux-arm64.tar.gz -C /usr/local && \ + ln -s /usr/local/node-v18.0.0-linux-arm64/bin/node /usr/local/bin/node && \ + ln -s /usr/local/node-v18.0.0-linux-arm64/bin/npm /usr/local/bin/npm ;\ + else \ + echo "不支持的架构: $ARCH" && exit 1; \ + fi + +WORKDIR /root/open-webui + +RUN npm config set registry https://registry.npmmirror.com/ + +RUN npm i +RUN npm run build + +RUN pip install pydantic -i https://mirrors.aliyun.com/pypi/simple/ + +RUN pip install -r backend/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ + +RUN pip install fastapi_sso \ + transformers \ + accelerate + +ENV HF_ENDPOINT=https://hf-mirror.com + +CMD ["/bin/bash", "-c", "/root/open-webui/backend/start.sh"] + diff --git a/AI/open-webui/README.md b/AI/open-webui/README.md new file mode 100644 index 0000000..c0d9519 --- /dev/null +++ b/AI/open-webui/README.md @@ -0,0 +1,31 @@ +# open-webui + +# Quick reference + +- The official dlrm docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative) + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community) + +# Build reference + +1. Build images and push: +```shell +docker buildx build -t "openeuler/open-webui:$TAG" --platform linux/amd64,linux/arm64 . --push +``` + +We are using `buildx` in here to generate multi-arch images, see more in [Docker Buildx](https://docs.docker.com/buildx/working-with-buildx/) + +2. Run: +```shell +docker run -itd --name openwebui openeuler/open-webui:$TAG +docker exec -it openwebui /bin/bash +``` + +# Supported tags and respective Dockerfile links + +- 1.0-oe2203sp4: open-webui v1.0, openEuler 22.03 LTS SP4 + +## Operating System +Linux/Unix, ARM64 or x86-64 architecture. diff --git a/AI/open-webui/doc/image-info.yml b/AI/open-webui/doc/image-info.yml new file mode 100644 index 0000000..31b721e --- /dev/null +++ b/AI/open-webui/doc/image-info.yml @@ -0,0 +1,51 @@ +name: open-webui +category: ai +description: Open-WebUI service container with preconfigured settings +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + open-webui镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[1.0-oe2203sp4](https://gitee.com/openeuler/openeuler-docker-images/blob/master/AI/open-webui/1.0/22.03-lts-sp4/Dockerfile)| open-webui 1.0 on openEuler 22.03-LTS-SP4 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/open-webui:{Tag} + ``` + +usage: | + - 启动容器 + ``` + docker run -itd --name open-webui openeuler/open-webui:{Tag} + ``` + 用户可根据自身需求选择对应版本的{Tag}、容器启动的选项。`open-webui`启动之后,通过`docker exec -it open-webui /bin/bash`进入容器的/opt/open-webui目录,就可以运行open-webui的代码。 + + + - 容器测试 + + 查看运行日志 + ``` + docker logs -f open-webui + ``` + + 使用shell交互 + ``` + docker exec -it open-webui /bin/bash + ``` + +license: MIT license +similar_packages: + - Ollama: 一款非常轻量且易于安装的工具,旨在为开发者提供便捷的语言模型 API 支持。 +dependency: + - python3-pip + - pydantic + - fastapi_sso + - transformers + - accelerate + - npm diff --git a/AI/open-webui/doc/picture/logo.png b/AI/open-webui/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a652a5fb87acf0f253a727d0ed9d672b9837a780 GIT binary patch literal 5367 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