mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 10:58:17 -05:00
feat: Improved instructions for building with python or from source #6102
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Ivan2getdmodelz on GitHub (Aug 14, 2025).
Check Existing Issues
Problem Description
In using via the uv installation method, upon launching the open-webui, it pulls the python 3.11 elements down into the virtual environment for runtime. This is undesirable for a completely disconnected installation. I've attempted creating a venv from uv independently, however when pip intalling in a venv, it pulls down approximately 9G of items.
Desired Solution you'd like
Please update the requirements.txt to provide that explicitly identifies the bare minimum dependencies needed for installation.
Alternatives Considered
No response
Additional Context
No response
@Classic298 commented on GitHub (Aug 14, 2025):
this is the bare minimum needed for installation - the cuda drivers are very large and take gigabytes of storage, and so do all the many many other dependencies.
You say you checked for existing discussions and issues - did you? This is a duplicate issue. The physical size of open webui has been discussed many times and ideas of how to optionally reduce it (by e.g. having a more minimal version) have been discussed.
Please do not open duplicate issues.
@rgaricano commented on GitHub (Aug 14, 2025):
But if you use same venv it doesn't download each time, just update if necessary or install news.
In my install I don't use venv, I use installed python libs, the install of requirements is so quick.
That's are the libs>10Mb that are installed for run openwebui... which of these do you suggest to be removed?
2,7G ./venv/lib/python3.12/site-packages/nvidia
1,6G ./venv/lib/python3.12/site-packages/torch
540M ./venv/lib/python3.12/site-packages/triton
289M ./venv/lib/python3.12/site-packages/open_webui
255M ./venv/lib/python3.12/site-packages/tencentcloud
227M ./venv/lib/python3.12/site-packages/cusparselt
170M ./venv/lib/python3.12/site-packages/milvus_lite
141M ./venv/lib/python3.12/site-packages/pyarrow
128M ./venv/lib/python3.12/site-packages/playwright
113M ./venv/lib/python3.12/site-packages/scipy
108M ./venv/lib/python3.12/site-packages/transformers
91M ./venv/lib/python3.12/site-packages/opencv_python.libs
86M ./venv/lib/python3.12/site-packages/googleapiclient
81M ./venv/lib/python3.12/site-packages/av.libs
79M ./venv/lib/python3.12/site-packages/cv2
75M ./venv/lib/python3.12/site-packages/pandas
74M ./venv/lib/python3.12/site-packages/sympy
69M ./venv/lib/python3.12/site-packages/ctranslate2.libs
63M ./venv/lib/python3.12/site-packages/opencv_python_headless.libs
63M ./venv/lib/python3.12/site-packages/ctranslate2
50M ./venv/lib/python3.12/site-packages/sklearn
42M ./venv/lib/python3.12/site-packages/onnxruntime
42M ./venv/lib/python3.12/site-packages/moto
39M ./venv/lib/python3.12/site-packages/numpy
37M ./venv/lib/python3.12/site-packages/numpy.libs
35M ./venv/lib/python3.12/site-packages/kubernetes
34M ./venv/lib/python3.12/site-packages/av
29M ./venv/lib/python3.12/site-packages/google
27M ./venv/lib/python3.12/site-packages/scipy.libs
27M ./venv/lib/python3.12/site-packages/fontTools
27M ./venv/lib/python3.12/site-packages/botocore
26M ./venv/lib/python3.12/site-packages/langchain_community
23M ./venv/lib/python3.12/site-packages/zstandard
22M ./venv/lib/python3.12/site-packages/sqlalchemy
18M ./venv/lib/python3.12/site-packages/networkx
17M ./venv/lib/python3.12/site-packages/uvloop
16M ./venv/lib/python3.12/site-packages/rapidocr_onnxruntime
16M ./venv/lib/python3.12/site-packages/pip
15M ./venv/lib/python3.12/site-packages/langchain
15M ./venv/lib/python3.12/site-packages/grpc
14M ./venv/lib/python3.12/site-packages/cryptography
13M ./venv/lib/python3.12/site-packages/nltk
13M ./venv/lib/python3.12/site-packages/lxml
12M ./venv/lib/python3.12/site-packages/rapidfuzz
11M ./venv/lib/python3.12/site-packages/elasticsearch
11M ./venv/lib/python3.12/site-packages/azure
@Ivan2getdmodelz commented on GitHub (Aug 18, 2025):
Thanks, rgaricano. Your reply was helpful.
@Ivan2getdmodelz commented on GitHub (Aug 20, 2025):
Also, a freeze to generate a requirements.txt list isn't what I'd consider a minimal install....
@rgaricano commented on GitHub (Aug 20, 2025):
For reference,
here are the libraries from
requirements.txtthat could be skipped for a default configuration:Core Dependencies (Cannot Skip)
The following are essential for basic functionality and cannot be skipped:
fastapi,uvicorn,pydantic- Core web frameworkpython-multipart,python-socketio- Web functionalitypython-jose,passlib,cryptography,bcrypt- Authentication/securityrequests,aiohttp,httpx- HTTP clientssqlalchemy,alembic,peewee- Database functionalityloguru,APScheduler- Logging and task schedulingOptional Dependencies That Can Be Skipped
Vector Database Options (Skip if not using RAG)
Multiple vector database clients are provided, but only one is needed:
chromadb(default),pymilvus,qdrant-client,opensearch-py,elasticsearch,pinecone,oracledbDatabase Backend Options (Skip if using default SQLite)
Alternative database backends can be skipped:
psycopg2-binary,pgvector,PyMySQL,pymongo- Only needed for PostgreSQL, MySQL, or MongoDBredis- Only needed for caching and real-time featuresDocument Processing (Skip if not using file uploads/RAG)
Document processing libraries are optional:
pypdf,fpdf2,python-pptx,docx2txt,unstructured,nltk- Document parsingopencv-python-headless,rapidocr-onnxruntime,pillow- Image/OCR processingpandas,openpyxl,pyxlsb,xlrd- Spreadsheet processingAudio Features (Skip if not using speech-to-text/TTS)
Audio processing libraries are optional:
faster-whisper,soundfile,pydub- Speech processing and audio conversionWeb Search/Crawling (Skip if not using web search)
Web search capabilities are optional:
ddgs,playwright,firecrawl-py,youtube-transcript-api,pytube- Web search and content extractionCloud Storage (Skip if using local storage)
Cloud storage providers can be skipped:
boto3,google-cloud-storage,azure-identity,azure-storage-blob- Cloud storage backendsgoogle-api-python-client,google-auth-httplib2,google-auth-oauthlib- Google Drive integrationAI Provider SDKs (Skip providers you don't use)
Specific AI provider libraries are optional:
anthropic,google-genai,google-generativeai,tencentcloud-sdk-pythonMonitoring/Observability (Skip if not needed)
Monitoring tools are optional:
posthog,langfuse- Analytics and LLM observabilityopentelemetry-*packages - Distributed tracingDevelopment/Testing Tools (Skip in production)
Development dependencies can be skipped:
black,docker,pytest,pytest-docker- Development and testing tools@Ivan2getdmodelz commented on GitHub (Aug 20, 2025):
@rgaricano Much appreciated. This is exactly the breakdown I was hoping to find.