Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. It supports various LLM runners like Ollama and OpenAI-compatible APIs, with built-in inference engine for RAG, making it a powerful AI deployment solution.
cp -RPp .env.example .env
npm install
npm run build
shellconda create --name open-webui python=3.11 conda activate open-webui pip install -r requirements.txt -U
sh start.sh
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9
可能为 Docker 版本问题,升级 Docker 版本(尝试升级到 20.10.9 解决)
修改源
shellRUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free non-free-firmware" > /etc/apt/sources.list && \ echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \ echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \ rm -rf /etc/apt/sources.list.d/* && \ apt update && apt upgrade -y
使用 pyinstaller
配置 main.spec
# -*- mode: python ; coding: utf-8 -*- from PyInstaller.utils.hooks import collect_all, collect_submodules, collect_data_files from PyInstaller.building.build_main import Tree datas, binaries, hiddenimports = collect_all('chromadb') datas += collect_data_files("unstructured") hiddenimports+=[ "onnxruntime", "tokenizers", "tqdm", "passlib.handlers.bcrypt", ] excludes=['torch.utils.tensorboard'] a = Analysis( ['main.py'], pathex=[], binaries=binaries, datas=datas, hiddenimports=hiddenimports, hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=excludes, noarchive=False, optimize=0, ) a.datas += [ ('CHANGELOG.md', '../../CHANGELOG.md', 'DATA'), ('emoji/unicode_codes/emoji.json', '/root/anaconda3/envs/open-webui-clean/lib/python3.11/site-packages/emoji/unicode_codes/emoji.json', 'DATA') ] a.datas += Tree('./static', prefix='static') a.datas += Tree('../../build', prefix='build') pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, a.binaries, a.datas, [], name='main', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, )
执行 pyinstaller main.spec
,构建的包在 dist/main
本文作者:42tr
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!