VPS కోసం ఉత్తమ Open WebUI ప్రత్యామ్నాయాలు
VPSలో Open WebUI, LibreChat, Hollama మరియు OrionChat పనితీరును పోల్చండి. పబ్లిక్ IP వద్ద RAM వినియోగం, యూజర్ లాగిన్ భద్రత మరియు రిమోట్ Ollama కనెక్టివిటీ గురించి తెలుసుకోండి.
VPS లో ఏ Open WebUI ప్రత్యామ్నాయం ఉండాలి
Open WebUI ప్రత్యామ్నాయాలను సాధారణంగా ల్యాప్టాప్లలో పోలుస్తారు, అక్కడ RAM తక్కువ ధరకే లభిస్తుంది మరియు ఏదీ పబ్లిక్ అడ్రస్లో వినదు (listen అవ్వదు). VPS ఈ రెండు అంశాలను మారుస్తుంది, తద్వారా వాటి ప్రాధాన్యత కూడా మారుతుంది. రెండవ వ్యక్తి లాగిన్ అయిన క్షణం నుండి Open WebUI సరైన ఎంపికగా ఉంటుంది, ఎందుకంటే ఇది నిజమైన యూజర్ అకౌంట్లు మరియు అడ్మిన్ ప్యానెల్ను కలిగి ఉంటుంది. RAM లోని చివరి గిగాబైట్ కోసం ఇంటర్ఫేస్ మరియు మోడల్ పోటీ పడుతున్నప్పుడు, తేలికపాటి ప్రాజెక్టులు విజయం సాధిస్తాయి. అయితే ఆ విజయం కోసం చెల్లించాల్సిన మూల్యం ప్రమాణీకరణ (authentication): వాటికి అటువంటి సౌకర్యం లేదు.
కింద ఉన్న సమాచారం అంతా 2026 ఆగస్టులో చదివిన ప్రతి ప్రాజెక్ట్ యొక్క స్వంత డాక్యుమెంటేషన్ నుండి సేకరించబడింది. ఇంటర్నెట్ నుండి సర్వర్ అందుబాటులోకి వచ్చినప్పుడు మాత్రమే కనిపించే నాలుగు అంశాల ఆధారంగా ఇవి ఉన్నాయి.
పబ్లిక్ IPపై మాత్రమే పరిగణించవలసిన నాలుగు అంశాలు
- మోడల్ పక్కనే మెమరీ. సర్వర్లో మోడల్ ప్రాసెస్ అత్యంత ఖరీదైనది. ఇంటర్ఫేస్ ఉపయోగించే ప్రతి మెగాబైట్ మెమరీ, మోడల్కు అందుబాటులో ఉండదు.
- అథెంటికేషన్ (Authentication). కొన్ని ప్రాజెక్ట్లలో యూజర్ అకౌంట్లు మరియు రోల్స్ ఉంటాయి. మరికొన్ని మీ ల్యాప్టాప్లో అవే మాత్రమే నడుస్తున్నాయని భావించి, ఎటువంటి లాగిన్ సౌకర్యం లేకుండా ఉంటాయి.
- రిమోట్ ఇన్ఫరెన్స్ (Remote inference).
127.0.0.1:11434కి మాత్రమే కనెక్ట్ అవ్వగల UI, మోడల్ను ఇంటర్ఫేస్ ఉన్న సర్వర్లోనే ఉంచేలా చేస్తుంది. - నిర్వహణ (Upkeep). ఒక SQLite ఫైల్తో ఉన్న కంటైనర్ నిర్వహణకు, MongoDB మరియు వెక్టర్ డేటాబేస్తో కూడిన ఆరు కంటైనర్ల నిర్వహణకు చాలా తేడా ఉంటుంది.
మోడల్ ఇంటర్ఫేస్ కోసం ఎంత RAMని వదిలివేస్తుంది
సర్వర్లో ఇంటర్ఫేస్ కంటే మోడల్ చాలా పెద్దది. ప్రచురించబడిన డౌన్లోడ్ పరిమాణాలు మీకు కనీస అవసరాన్ని మాత్రమే తెలియజేస్తాయి, ఎందుకంటే మోడల్ సమాధానం ఇచ్చేటప్పుడు weights మెమరీలో ఉండాలి. కాంటెక్స్ట్ క్యాచీ (context cache) కేటాయించిన తర్వాత, వాస్తవ మెమరీ వినియోగం డౌన్లోడ్ పరిమాణం కంటే ఎక్కువగా ఉంటుంది.
The data behind this chart
[
{
"label": "llama3.2:3b",
"download_gb": "2.0"
},
{
"label": "qwen3:4b",
"download_gb": "2.5"
},
{
"label": "gemma3:4b",
"download_gb": "3.3"
},
{
"label": "qwen3:8b",
"download_gb": "5.2"
}
]ఇవి ఆగస్టు 2026లో Ollama లైబ్రరీ పేజీలలో ముద్రించిన గణాంకాలు. ఇవి కేవలం ప్రచురించబడిన పరిమాణాలు మాత్రమే, కొలతలు కావు. 4 GB VPSలో, qwen3:4b అనేది 2.5 GB వద్ద ఆపరేటింగ్ సిస్టమ్ మరియు ఇతర అవసరాల కోసం 1.5 GB కంటే తక్కువ మెమరీని మాత్రమే మిగిలిస్తుంది, మరియు సంభాషణ పెరిగేకొద్దీ కాంటెక్స్ట్ క్యాచీ దానిని కూడా వినియోగించుకుంటుంది. qwen3:8b అనేది 5.2 GB వద్ద ఆ సర్వర్లో అస్సలు సరిపోదు. ల్యాప్టాప్ రివ్యూలలో ఎవరూ చర్చించని పరిస్థితి ఇది, మరియు కొన్ని వందల మెగాబైట్ల మెమరీని తీసుకునే చాట్ ఇంటర్ఫేస్, మోడల్ రన్ అవుతుందా లేదా అని నిర్ణయించే కీలక అంశంగా మారుతుంది. మీరు ఈ పరిమాణాల కంటే పెద్ద మోడల్ కోసం సర్వర్ను సిద్ధం చేస్తున్నట్లయితే, CPU-మాత్రమే ఉన్న VPSలో 27B మోడల్ కోసం లెక్కలు ఇంటర్ఫేస్ మెమరీ వినియోగం ఎలా ప్రాముఖ్యతను కోల్పోతుందో చూపుతాయి.
ఏదైనా రివ్యూలో ఉన్న సంఖ్యలను నమ్మే కంటే, మీరే స్వయంగా కొలవండి. docker stats --no-stream కమాండ్ను కంటైనర్ ప్రారంభమైన నిమిషంలో కాకుండా, ఒక గంట వాడకం తర్వాత రన్ చేయండి, ఎందుకంటే ముఖ్యమైన మెమరీ మొదటిసారి వాడినప్పుడే కేటాయించబడుతుంది.
Open WebUI: ఒకటి కంటే ఎక్కువ మంది వినియోగదారుల కోసం డిఫాల్ట్ సెట్టింగ్
Open WebUI ఒకే ఇమేజ్ నుండి రన్ అవుతుంది మరియు దాని డేటాను ఒకే వాల్యూమ్లో భద్రపరుస్తుంది.
docker run -d -p 127.0.0.1:3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:mainప్రాజెక్ట్ README లోని కమాండ్ -p 3000:8080 ను పబ్లిష్ చేస్తుంది, ఇది ప్రతి ఇంటర్ఫేస్పై వింటుంది (listen). 127.0.0.1: ప్రిఫిక్స్ దీనిని లూప్బ్యాక్ (loopback) కే పరిమితం చేస్తుంది. VPSలో, ఆ లైన్లో ఉన్న వేటికంటే ఈ ప్రిఫిక్స్ చాలా ముఖ్యమైనది, ఎందుకంటే Docker సొంతంగా iptables నియమాలను రాస్తుంది మరియు పబ్లిష్ చేసిన పోర్ట్ మీ ufw deny నియమాలను పట్టించుకోదు.
కింద వివరించిన టన్నెల్ లేదా ప్రాక్సీ ద్వారా పేజీని చేరుకుని, మొదటి ఖాతాను సృష్టించండి. ఆ ఖాతా అడ్మినిస్ట్రేటర్గా మారుతుంది. తదుపరి సైన్-అప్లు pending రోల్తో సృష్టించబడతాయి, ఇది DEFAULT_USER_ROLE యొక్క డాక్యుమెంట్ చేయబడిన డిఫాల్ట్. కాబట్టి, మీ పేజీని చేరుకున్న అపరిచితులు అడ్మిన్ వారిని ఆమోదించే వరకు మీ మోడల్ను ఉపయోగించలేరు.
Open WebUI కింద పేర్కొన్న ప్రాజెక్టుల కంటే ఎక్కువ మెమరీని తీసుకుంటుంది, ఎందుకంటే ఇది ఎక్కువ పనులను చేస్తుంది. దీని పనితీరు పేజీ (performance page) మెమరీని ఖర్చు చేసే భాగాలను పేర్కొంటుంది. డిఫాల్ట్ ఎంబెడ్డింగ్ ఇంజిన్ కంటైనర్ లోపల ఒక sentence-transformers మోడల్ను లోడ్ చేస్తుంది, ఇది ప్రతి వర్కర్ ప్రాసెస్కు సుమారు 500 MB వరకు ఉంటుందని డాక్యుమెంట్ చేయబడింది. RAG_EMBEDDING_ENGINE=ollama సెట్ చేయడం ద్వారా ఆ పనిని మీరు ఇప్పటికే రన్ చేస్తున్న మోడల్ సర్వర్కు అప్పగించవచ్చు. AUDIO_STT_ENGINE=webapi స్థానిక స్పీచ్-టు-టెక్స్ట్ మోడల్ను లోడ్ చేయకుండా నిరోధిస్తుంది. SQLite లో DATABASE_POOL_SIZE సెట్ చేయనప్పుడు, పూల్ పెద్ద అంతర్గత పరిమాణానికి పడిపోతుంది మరియు ప్రతి కనెక్షన్ తన సొంత పేజీ కాష్ మరియు మెమరీ మ్యాప్ను పెంచుకుంటుంది. కాబట్టి, చిన్న సర్వర్లలో DATABASE_POOL_SIZE=8 మరియు DATABASE_SQLITE_PRAGMA_MMAP_SIZE=0 సెట్ చేయండి. ENABLE_AUTOCOMPLETE_GENERATION=False వినియోగదారు టైప్ చేస్తున్నప్పుడు మోడల్ను కంప్లీషన్ అడగకుండా ఇంటర్ఫేస్ను ఆపుతుంది.
LibreChat: మల్టీ-యూజర్, వెనుక ఒక స్టాక్తో
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
cp .env.example .env
docker compose up -dఈ ఇంటర్ఫేస్ 3080 పోర్ట్ ద్వారా స్పందిస్తుంది. కేవలం లాగిన్ బాక్స్ కంటే గుర్తింపు వ్యవస్థ (identity system) అవసరమైనప్పుడు LibreChat ను పరిశీలించాలి: ఇది LDAP మరియు OAuth2 లాగిన్లను డాక్యుమెంట్ చేస్తుంది, మరియు వినియోగదారులు, రోల్స్ కోసం అడ్మిన్ ప్యానెల్ను కలిగి ఉంటుంది. ఆ సామర్థ్యం ఒక స్టాక్తో వస్తుంది.
The data behind this chart
[
{
"label": "OrionChat",
"containers": 0,
"notes": "static files, served by a web server you already run"
},
{
"label": "Hollama",
"containers": 1,
"notes": "one container serving a browser app"
},
{
"label": "Open WebUI",
"containers": 1,
"notes": "application and SQLite in one image"
},
{
"label": "LibreChat",
"containers": 6,
"notes": "api, admin panel, MongoDB, Meilisearch, pgvector, RAG API"
}
]డిఫాల్ట్ compose ఫైల్ 6 సేవలను ప్రారంభిస్తుంది: api, admin panel, MongoDB, Meilisearch, pgvector, RAG API. వాటిలో ఏదీ మోడల్ కాదు. MongoDB మరియు pgvector రెండింటికీ వాటి స్వంత మెమరీ అవసరం, 4 GB బాక్స్లో అది మోడల్కు అవసరమైన మెమరీని తగ్గిస్తుంది.
అప్గ్రేడ్లు ఒక git ఆపరేషన్, ఇది చాలామంది తప్పుగా చేసే భాగం.
docker compose down
git pull
docker compose pull
docker compose up -dమీరు ట్రాక్ చేయబడిన docker-compose.yml ను ఎడిట్ చేస్తే git pull కాన్ఫ్లిక్ట్తో ఆగిపోతుంది, అప్పుడు అప్గ్రేడ్ సగం మాత్రమే పూర్తవుతుంది. మీ మార్పులను ప్రాజెక్ట్ దీని కోసం అందించిన docker-compose.override.yml లో ఉంచండి, మరియు రహస్యాలను (secrets) .env లో ఉంచండి. ఈ రెండు ఫైళ్లు ట్రాక్ చేయబడవు, కాబట్టి git pull వాటిని ఏమీ చేయదు.
librechat.yaml లో కస్టమ్ ఎండ్పాయింట్తో LibreChat ను మీ స్వంత మోడల్ సర్వర్కు పాయింట్ చేయండి.
endpoints:
custom:
- name: "Ollama"
apiKey: "ollama"
baseURL: "http://model-host:11434/v1/"
models:
default: ["llama3.2"]
fetch: true
titleConvo: true
titleModel: "current_model"
modelDisplayLabel: "Ollama"model-host ను Ollama నడుస్తున్న బాక్స్ అడ్రస్తో భర్తీ చేయండి. Ollama దాని విలువను పట్టించుకోకపోయినా apiKey ఫీల్డ్ ఉండాలి, కాబట్టి ఒక ప్లేస్హోల్డర్ సరిపోతుంది. LibreChat డాకర్లో నడుస్తూ, Ollama అదే మెషీన్లో నడుస్తుంటే, కంటైనర్ లోపల localhost అంటే కంటైనర్ అని అర్థం, కాబట్టి అక్కడ host.docker.internal ను ఉపయోగించండి.
Hollama మరియు OrionChat: బ్రౌజరే పనిని పూర్తి చేస్తుంది
Hollama ఒక చిన్న కంటైనర్ ద్వారా బ్రౌజర్ అప్లికేషన్ను అందిస్తుంది. చాట్లు సర్వర్లో కాకుండా మీ బ్రౌజర్ స్టోరేజ్లోనే ఉంటాయి.
docker run -d --restart unless-stopped -p 127.0.0.1:4173:4173 --name hollama ghcr.io/fmaclen/hollama:latestఈ కమాండ్ యొక్క README వెర్షన్ --rmని ఉపయోగిస్తుంది, ఇది కంటైనర్ ఆగిపోయినప్పుడు దానిని తొలగిస్తుంది, కాబట్టి రీబూట్ తర్వాత ఇంటర్ఫేస్ తిరిగి రాదు. రివర్స్ ప్రాక్సీ వెనుక, -e VITE_ALLOWED_HOSTS='chat.example.com'ని జోడించండి, ఎందుకంటే ఈ ఇమేజ్ హోస్ట్ localhostని మాత్రమే అనుమతిస్తుంది మరియు ఇతర హోస్ట్నేమ్ అభ్యర్థనలకు అప్లికేషన్కు బదులుగా blocked-host ఎర్రర్ను చూపుతుంది.
OrionChat ఇంకా ముందుకెళ్లి ఎటువంటి సర్వర్ భాగం లేకుండా పనిచేస్తుంది. రిపోజిటరీని క్లోన్ చేసి, మీరు ఇప్పటికే రన్ చేస్తున్న వెబ్ సర్వర్తో ఆ ఫోల్డర్ను సర్వ్ చేయండి, లేదా డిస్క్ నుండి index.htmlని ఓపెన్ చేయండి. API కీలు బ్రౌజర్ యొక్క localStorageలో నిల్వ చేయబడతాయి, చాట్ హిస్టరీ బ్రౌజర్లోనే ఉంటుంది, మరియు చాట్ల సంఖ్య 512 దాటినప్పుడు యాప్ పాత చాట్లను తొలగిస్తుంది.
ఈ రెండు ప్రాజెక్ట్లలో లాగిన్ ఉండదు, ఎందుకంటే వాటిని తనిఖీ చేసే సర్వర్ ఏదీ లేదు. ల్యాప్టాప్లో ఇది సరిపోతుంది. VPSలో అయితే, పేజీని ఎప్పుడూ 0.0.0.0లో పబ్లిష్ చేయకూడదు, మరియు గమనించడం మర్చిపోయే ఒక ముఖ్యమైన విషయం ఉంది: సర్వర్ కాదు, బ్రౌజరే మోడల్ను పిలుస్తుంది.
ఈ ఒక్క వాస్తవం ఈ రెండింటిని ఎక్కడ ఉపయోగించవచ్చో నిర్ణయిస్తుంది. మీ బ్రౌజర్ నేరుగా Ollamaను చేరుకోవాలి, కాబట్టి Ollama లూప్బ్యాక్ కంటే ఎక్కువ వాటిపై వినాలి (listen), మరియు Ollamaలో ఎటువంటి ప్రమాణీకరణ (authentication) ఉండదు. దీని నుండి రెండు బ్రౌజర్ నియమాలు వస్తాయి. HTTPS ద్వారా సర్వ్ చేయబడిన పేజీ సాధారణ HTTP ఎండ్పాయింట్ను పిలవలేదు, మరియు కన్సోల్ Mixed Content: The page at 'https://chat.example.com/' was loaded over HTTPS, but requested an insecure resource 'http://203.0.113.10:11434/api/tags'. This request has been blocked.ని ప్రింట్ చేస్తుంది. మీరు ఆ ఆరిజిన్ను అనుమతించే వరకు ఏదైనా ఇతర ఆరిజిన్కు చేసే కాల్ has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resourceతో తిరస్కరించబడుతుంది.
Ollama డాక్యుమెంటేషన్ ప్రకారం ఈ సెట్టింగ్లను మార్చడానికి systemd ఓవర్రైడ్ మార్గం ఉత్తమం.
sudo systemctl edit ollama.service[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=https://chat.example.com"sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo ss -lntp | grep 11434ss ఇప్పుడు 0.0.0.0:11434ని ప్రింట్ చేయాలి, ఇది గతంలో 127.0.0.1:11434ని ప్రింట్ చేసేది. ఫైర్వాల్ లేదా ప్రమాణీకరణ చేసే ప్రాక్సీ ద్వారా పోర్ట్ను ఎవరు చేరుకోవాలో నియంత్రణ ఉన్నప్పుడు మాత్రమే ఈ మార్పు చేయండి, ఎందుకంటే 11434 పోర్ట్ తెరిచి ఉంటే అది ఓపెన్ మోడల్ సర్వర్ అవుతుంది మరియు మాస్ స్కానర్లు కొత్త పబ్లిక్ పోర్ట్ను త్వరగా చేరుకుంటాయి. కింద ఉన్న SSH టన్నెల్ ఈ సమస్య మొత్తాన్ని నివారిస్తుంది: అప్పుడు పేజీ localhost ఆరిజిన్పై రన్ అవుతుంది, దీనిని Ollama డిఫాల్ట్గా అనుమతిస్తుంది, మరియు పోర్ట్ బాక్స్ బయటకు వెళ్లదు.
ప్రతి ఒక్కరూ రిమోట్ Ollama లేదా vLLM ఎండ్పాయింట్ను ఉపయోగించగలరా
Open WebUI ఉపయోగించగలదు, మరియు కనెక్షన్ సర్వర్ వైపు నుండి జరుగుతుంది. OLLAMA_BASE_URL=http://model-host:11434 దీనిని Ollama వైపు మళ్ళిస్తుంది. vLLM లేదా మరేదైనా OpenAI-అనుకూల సర్వర్ కోసం, OPENAI_API_BASE_URL=http://model-host:8000/v1 ను ఖాళీ లేని OPENAI_API_KEY తో సెట్ చేయండి, మరియు తప్పనిసరి అయిన /v1 సఫిక్స్ను అలాగే ఉంచండి. OPENAI_API_BASE_URLS సెమికోలన్లతో వేరు చేయబడిన అనేక బ్యాకెండ్లను అంగీకరిస్తుంది.
LibreChat పైన చూపిన కస్టమ్ ఎండ్పాయింట్ యొక్క baseURL ద్వారా దీనిని చేయగలదు. ఆ అభ్యర్థన కూడా సర్వర్ నుండి బయటకు వెళ్తుంది, కాబట్టి బ్రౌజర్ నియమం ఏదీ వర్తించదు. అదే బేస్ URL మరియు అదే ప్లేస్హోల్డర్ కీ చాట్ విండో వెలుపల కూడా పనిచేస్తాయి, మీరు ఇప్పటికే హోస్ట్ చేసిన మోడల్కు కోడింగ్ ఏజెంట్ను పాయింట్ చేయడానికి ఇది సరిపోతుంది.
Hollama మరియు OrionChat మీరు వాటి సెట్టింగ్లలో టైప్ చేసే ఏదైనా ఎండ్పాయింట్కు పాయింట్ చేయగలవు, కానీ అభ్యర్థన మీ బ్రౌజర్ నుండి బయటకు వెళ్తుంది. పైన ఉన్న విభాగంలోని ప్రతిదీ వాటికి వర్తిస్తుంది మరియు ఇక్కడ ఉన్న వేటికీ వర్తించదు.
ఇంటర్ఫేస్ను మోడల్ నుండి వేరు చేయడం అనేది రిమోట్ ఎండ్పాయింట్ మీకు అందించే అత్యంత ఉపయోగకరమైన అంశం. ఇంటర్ఫేస్ను చిన్న బాక్స్లో ఉంచండి మరియు మెమరీ ఎక్కడ ఉందో అక్కడ మోడల్ను ఉంచండి. Ollama లేదా vLLM అభ్యర్థనలను అందించాలా వద్దా అని నిర్ణయించుకోవడానికి కూడా ఇదే సరైన సమయం, ఎందుకంటే ఒకేసారి పలువురు వ్యక్తులు మోడల్తో మాట్లాడినప్పుడు ఈ రెండూ చాలా భిన్నంగా ప్రవర్తిస్తాయి. మోడల్ సర్వర్ ఇంకా లేకపోతే, VPSలో Ollamaను రన్ చేయడం ద్వారా ప్రారంభించండి, మరియు కేవలం CPU ఉన్న బాక్స్లో రన్నర్ను ఎంచుకునే ముందు Ollama మరియు llama.cpp మధ్య పోలికను చదవండి.
లాగిన్ లేని చాట్ UIని ఎప్పుడూ 0.0.0.0లో పబ్లిష్ చేయవద్దు
Open WebUI యొక్క హార్డనింగ్ పేజీ ప్రకారం, ఈ ప్రాజెక్ట్ "డేటాబేస్లు, కంటైనర్ రిజిస్ట్రీలు మరియు CI సర్వర్ల వంటి ఇతర self-hosted మౌలిక సదుపాయాల మాదిరిగానే, ప్రైవేట్ మరియు నమ్మకమైన నెట్వర్క్ల కోసం నిర్మించబడింది". దీనిని VPN వెనుక లేదా అథెంటికేషన్ ఉన్న రివర్స్ ప్రాక్సీ వెనుక ఉంచాలని ఇది సూచిస్తుంది. లాగిన్ లేని ఏ ప్రాజెక్ట్కైనా కనీసం అదే స్థాయి భద్రత అవసరం.
ఏదైనా సేవను నమ్మే ముందు, అది ఏ పోర్ట్లో వింటోందో (listening) తనిఖీ చేయండి.
sudo ss -lntp | grep -E ':(3000|3080|4173|11434)'127.0.0.1:3000 అని ఉన్న లైన్ మీకు కావలసినది. 0.0.0.0:3000 అని ఉన్న లైన్ అంటే మీ చాట్ ఇంటర్ఫేస్ పబ్లిక్ ఇంటర్నెట్లో అందుబాటులో ఉందని అర్థం. మీ స్వంత మెషీన్ నుండి, curl -sI http://YOUR.VPS.IP:3000 కమాండ్ HTTP/1.1 200 OK అని సమాధానం ఇస్తే, అది మరింత స్పష్టంగా అదే విషయాన్ని చెబుతుంది.
WEBUI_AUTH=False ఉపయోగించి Open WebUI లాగిన్ను నిలిపివేయడం అనేది, వేరెవరూ చేరుకోలేని మెషీన్ కోసం మాత్రమే ఉద్దేశించిన సింగిల్-యూజర్ సెట్టింగ్. ఇప్పటికే అకౌంట్లు ఉన్న ఇన్స్టాలేషన్లో దీనిని వర్తింపజేయడానికి ప్రయత్నిస్తే, You can't turn off authentication because there are existing users. అనే సందేశంతో అది తిరస్కరిస్తుంది.
మొదటి పద్ధతి: loopback కి bind చేసి, SSH ద్వారా చేరుకోవడం. ప్రతి పోర్ట్ను 127.0.0.1 లో పబ్లిష్ చేయండి, ఆపై మీకు కావలసిన వాటిని ఇలా ఫార్వర్డ్ చేయండి: ssh -N -L 3000:127.0.0.1:3000 you@vps.example.com, మరియు మీ ల్యాప్టాప్లో http://localhost:3000 ని ఓపెన్ చేయండి. ఏదీ పబ్లిక్గా పబ్లిష్ చేయబడదు కాబట్టి, దేనినీ స్కాన్ చేయడం సాధ్యం కాదు. Hollama లేదా OrionChat కోసం, -L 11434:127.0.0.1:11434 తో మోడల్ పోర్ట్ను అదే కమాండ్లో ఫార్వర్డ్ చేయండి మరియు Ollamaను loopback లోనే ఉంచండి. ఈ పద్ధతి మీ SSH సెటప్ ఎంత బలంగా ఉంటే అంత బలంగా ఉంటుంది, కాబట్టి దీనిని key-only SSH మరియు హార్డెన్ చేసిన sshd తో జత చేయండి.
రెండవ పద్ధతి: అప్లికేషన్ అభ్యర్థనను స్వీకరించే ముందే అథెంటికేషన్ చేసే రివర్స్ ప్రాక్సీ. అప్లికేషన్ను loopback లో ఉంచండి, ప్రాక్సీని 443 పోర్ట్ను నిర్వహించనివ్వండి మరియు దాని ముందు సింగిల్ సైన్-ఆన్ (SSO) ఉంచండి. Docker Compose లేబుల్స్ ద్వారా నడిచే Traefik మరియు identity providerగా Authentik ఉపయోగించడం ద్వారా బాక్స్లోని ప్రతి అప్లికేషన్కు ఒకే లాగిన్ మరియు ఒకే సర్టిఫికేట్ లభిస్తుంది. TLS (transport layer security) వెనుక Open WebUI ఉన్నప్పుడు, WEBUI_SESSION_COOKIE_SECURE=true మరియు WEBUI_SESSION_COOKIE_SAME_SITE=strict సెట్ చేయండి. JWT_EXPIRES_IN యొక్క నాలుగు వారాల డిఫాల్ట్ సమయాన్ని కూడా తగ్గించండి, ఎందుకంటే Redis లేకపోతే సైన్-అవుట్ చేసినా టోకెన్ చెల్లదు అని Open WebUI డాక్యుమెంటేషన్ చెబుతోంది: అది గడువు ముగిసే వరకు ఉపయోగించదగినదిగానే ఉంటుంది.
రెండవ పద్ధతి బ్రౌజర్-మాత్రమే ఉండే ప్రాజెక్ట్లను రక్షించదు. పేజీ ముందు ఉన్న ప్రాక్సీ మోడల్ ఎండ్పాయింట్ను రక్షించదు, మరియు ఆ పేజీ నుండి వేరే హోస్ట్నేమ్కు చేసే fetch మీ సెషన్ కుకీని తీసుకెళ్లదు. కాబట్టి Ollama ముందు ఉన్న అథెంటికేటింగ్ ప్రాక్సీ లాగిన్ ఫారమ్కు రీడైరెక్ట్ చేస్తుంది మరియు చాట్ విఫలమవుతుంది. మోడల్ ఎండ్పాయింట్ను పేజీ ఉన్న అదే హోస్ట్నేమ్ కింద రూట్ చేయండి లేదా మొదటి పద్ధతిని ఉపయోగించండి.
ఏది ఎంచుకోవాలి
మీరు కాకుండా వేరే ఎవరైనా దీనిని ఉపయోగిస్తుంటే, Open WebUI ని రన్ చేయండి. ఇందులో నిజమైన అకౌంట్లు ఉంటాయి, కొత్త వినియోగదారులు అప్రూవల్ క్యూలో చేరుతారు, మరియు మీరు అనుసరించదగ్గ హార్డెనింగ్ మార్గదర్శకాలను దీని నిర్వాహకులు ప్రచురిస్తారు. మీకు LDAP లేదా అడ్మిన్ ప్యానెల్ అవసరమైతే, LibreChat ని రన్ చేయండి. దాని ఆరు సర్వీసులు మరియు మీ మోడల్ నిజంగా సరిపోతాయో లేదో docker stats తో నిర్ధారించుకున్నాకే దానిపై ఆధారపడండి. ఒకవేళ ఇది చిన్న సర్వర్పై ఒకే వ్యక్తి కోసం అయితే, మరియు మోడల్ ఇప్పటికే ఎక్కువ RAM ని ఆక్రమించి ఉంటే, Hollama లేదా OrionChat ని SSH టన్నెల్ ద్వారా సర్వ్ చేయండి మరియు బ్రౌజర్నే స్టేట్ను నిర్వహించనివ్వండి. VPS పై వీటిలో దేనినైనా ముందు లాగిన్ లేకుండా 0.0.0.0 లో పబ్లిష్ చేయడం తప్పుడు నిర్ణయం.
FAQ
Open WebUI ను నేరుగా public IP పై ఉంచడం సురక్షితమేనా?
దీని స్వంత hardening పేజీలో దీనిని database లేదా CI server వంటి ప్రైవేట్, నమ్మకమైన నెట్వర్క్ల కోసం రూపొందించిన సాఫ్ట్వేర్గా పేర్కొన్నారు. ఇందులో నిజమైన ఖాతాలు ఉంటాయి, మొదటి ఖాతా administrator గా మారుతుంది, తర్వాతి ఖాతాలు ఆమోదం పొందే వరకు pending గా ఉంటాయి, కాబట్టి లాగిన్ లేని UI ల కంటే ఇది చాలా సురక్షితం. అయినప్పటికీ, దీనిని TLS కలిగిన reverse proxy వెనుక ఉంచండి మరియు వీలైనప్పుడు single sign-on ను ఉపయోగించండి. Docker యొక్క iptables నియమాలు మీ అనుమతి లేకుండా ఇంటర్నెట్కు పోర్ట్ను తెరవకుండా ఉండటానికి, container పోర్ట్ను 127.0.0.1:3000:8080 గా ప్రచురించండి.
VPS పై తక్కువ RAM వినియోగించే Open WebUI ప్రత్యామ్నాయం ఏది?
Hollama మరియు OrionChat వంటి బ్రౌజర్-ఆధారిత అప్లికేషన్లు తక్కువ RAM తీసుకుంటాయి, ఎందుకంటే అప్లికేషన్ క్లయింట్ వైపు నడుస్తుంది. సర్వర్ కేవలం static ఫైళ్లను మాత్రమే పంపుతుంది, OrionChat కు అసలు అప్లికేషన్ కంటైనర్ కూడా అవసరం లేదు. Open WebUI ఒక Python ప్రాసెస్, database మరియు డిఫాల్ట్గా ఒక local embedding model ను మెమరీలో ఉంచుతుంది, embedding model కోసమే ఒక్కో worker కు సుమారు 500 MB అవసరమవుతుందని డాక్యుమెంట్ చేయబడింది. మీరు ఎంచుకున్న ఫీచర్లను బట్టి ఈ విలువలు మారవచ్చు కాబట్టి, మీ సర్వర్లో docker stats --no-stream తో ఖచ్చితమైన గణాంకాలను సరిచూసుకోండి.
ఈ చాట్ UI లు మరొక హోస్ట్లోని Ollama సర్వర్ను ఉపయోగించగలవా?
Open WebUI మరియు LibreChat అలా చేయగలవు, వీటి సర్వర్ కనెక్షన్ను ఏర్పాటు చేస్తుంది కాబట్టి బ్రౌజర్ నియమాలు వర్తించవు. Open WebUI కోసం OLLAMA_BASE_URL ను, లేదా LibreChat లోని custom endpoint లో baseURL ను సెట్ చేయండి. vLLM లేదా ఇతర OpenAI-compatible సర్వర్ల కోసం, /v1 suffix తో పాటు OPENAI_API_BASE_URL ను మరియు ఖాళీగా లేని API key ని ఉపయోగించండి. Hollama మరియు OrionChat కూడా ఎక్కడికైనా కనెక్ట్ అవ్వగలవు, కానీ అభ్యర్థన మీ బ్రౌజర్ నుండి వస్తుంది కాబట్టి, ఆ endpoint మీ బ్రౌజర్కు అందుబాటులో ఉండాలి.
నా బ్రౌజర్ చాట్ UI ఎందుకు Ollama ను చేరుకోలేకపోతోంది?
దాదాపు అన్ని సందర్భాల్లో రెండు కారణాలే ఉంటాయి. Ollama డిఫాల్ట్గా 127.0.0.1:11434 పై వింటుంది, కాబట్టి OLLAMA_HOST మారే వరకు మరొక మెషీన్లోని బ్రౌజర్ దానిని చేరుకోలేదు. అలాగే, Ollama కేవలం localhost నుండి వచ్చే cross-origin అభ్యర్థనలను మాత్రమే అంగీకరిస్తుంది, కాబట్టి మీ డొమైన్ నుండి వచ్చే పేజీని OLLAMA_ORIGINS లో పేర్కొనే వరకు No 'Access-Control-Allow-Origin' header is present on the requested resource తో తిరస్కరిస్తుంది. ఒకవేళ పేజీ HTTPS లో ఉండి, endpoint HTTP లో ఉంటే, Ollama కు చేరకముందే బ్రౌజర్ దానిని mixed content గా భావించి నిరోధిస్తుంది. ఈ రెండు variables ను systemctl edit ollama.service override లో సెట్ చేయండి, లేదా SSH ద్వారా పోర్ట్ను forward చేయండి, అప్పుడు ఈ సమస్య తొలగిపోతుంది.