VPS కోసం ఉత్తమ Open WebUI ప్రత్యామ్నాయాలు
VPSలో Open WebUI, LibreChat, Hollama మరియు OrionChat పనితీరును పోల్చండి. పబ్లిక్ IP ఉన్నప్పుడు RAM వినియోగం, యూజర్ లాగిన్ భద్రత మరియు రిమోట్ Ollama సెటప్ గురించి తెలుసుకోండి.
VPS లో ఏ Open WebUI ప్రత్యామ్నాయాన్ని ఉపయోగించాలి
Open WebUI ప్రత్యామ్నాయాలను సాధారణంగా ల్యాప్టాప్లలో పోలుస్తారు, అక్కడ RAM తక్కువ ధరకే లభిస్తుంది మరియు ఏ సేవ కూడా పబ్లిక్ అడ్రస్లో వినదు (listen). VPS లో ఈ రెండు పరిస్థితులు భిన్నంగా ఉంటాయి, దీనివల్ల ప్రాధాన్యతలు మారుతాయి. ఒకరి కంటే ఎక్కువ మంది వినియోగదారులు లాగిన్ అయినప్పుడు Open WebUI సరైన ఎంపికగా ఉంటుంది, ఎందుకంటే ఇది నిజమైన యూజర్ అకౌంట్లు మరియు అడ్మిన్ ప్యానెల్ను కలిగి ఉంటుంది. RAM లోని చివరి గిగాబైట్ కోసం ఇంటర్ఫేస్ మరియు మోడల్ పోటీ పడుతున్నప్పుడు, తక్కువ బరువున్న (lighter) ప్రాజెక్ట్లు మెరుగ్గా పనిచేస్తాయి. అయితే, ఈ ప్రయోజనం కోసం మీరు ప్రామాణీకరణను (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లో, 2.5 GB పరిమాణం ఉన్న qwen3:4b, ఆపరేటింగ్ సిస్టమ్ మరియు ఇతర అవసరాల కోసం 1.5 GB కంటే తక్కువ మెమరీని మాత్రమే వదిలివేస్తుంది. సంభాషణ పెరిగేకొద్దీ కాంటెక్స్ట్ క్యాచీ ఆ మెమరీని వినియోగించుకుంటుంది, అందుకే మీరు సెట్ చేసే num_ctx అనేది నాణ్యతకు సంబంధించిన నిర్ణయమే కాకుండా, మెమరీకి సంబంధించిన నిర్ణయం కూడా. 5.2 GB పరిమాణం ఉన్న qwen3:8b ఆ సర్వర్లో అస్సలు సరిపోదు. ల్యాప్టాప్ రివ్యూలు ఎప్పుడూ చర్చించని పరిస్థితి ఇది. కొన్ని వందల మెగాబైట్ల మెమరీని తీసుకునే చాట్ ఇంటర్ఫేస్, మోడల్ రన్ అవుతుందో లేదో నిర్ణయిస్తుంది. మీరు ఈ ట్యాగ్ల కంటే ఎక్కువ సామర్థ్యం గల సర్వర్ను ఎంచుకుంటున్నట్లయితే, CPU-మాత్రమే ఉన్న VPSలో 27B మోడల్ కోసం లెక్కలు ఇంటర్ఫేస్ మెమరీ వినియోగం ఎలా ప్రాముఖ్యతను కోల్పోతుందో చూపుతాయి.
ఏదైనా రివ్యూలో ఉన్న సంఖ్యలను నమ్మే కంటే స్వయంగా కొలవండి. కంటైనర్ ప్రారంభమైన నిమిషం తర్వాత కాకుండా, గంట సేపు వాడిన తర్వాత docker stats --no-stream రన్ చేయండి, ఎందుకంటే ముఖ్యమైన మెమరీ మొదటిసారి వాడినప్పుడే కేటాయించబడుతుంది. Ollama ఐదు నిమిషాల నిష్క్రియ సమయం (idle time) తర్వాత weights ను విడుదల చేస్తుంది, కాబట్టి సంభాషణల మధ్య తీసుకున్న రీడింగ్ గరిష్ట వినియోగాన్ని తక్కువగా చూపుతుంది. keep_alive తో మోడల్ను మెమరీలో ఉంచకపోతే, తదుపరి సందేశం కోసం మళ్ళీ మొత్తం లోడ్ భరించాల్సి వస్తుంది.
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 ను పబ్లిష్ చేస్తుంది, ఇది ప్రతి ఇంటర్ఫేస్పై వింటుంది (listens). 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 స్థానిక స్పీచ్-టు-టెక్స్ట్ మోడల్ను లోడ్ చేయకుండా నిరోధిస్తుంది. DATABASE_POOL_SIZE సెట్ చేయనప్పుడు SQLite లో, పూల్ పెద్ద అంతర్గత పరిమాణానికి పడిపోతుంది మరియు ప్రతి కనెక్షన్ దాని స్వంత పేజీ కాష్ మరియు మెమరీ మ్యాప్ను పెంచుకుంటుంది, కాబట్టి చిన్న బాక్సులపై 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 పోర్ట్లో స్పందిస్తుంది. కేవలం లాగిన్ బాక్స్ కంటే ఐడెంటిటీ సిస్టమ్ అవసరమైనప్పుడు 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కు ఎటువంటి అథెంటికేషన్ ఉండదు. దీని నుండి రెండు బ్రౌజర్ నియమాలు వస్తాయి. 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 కు బైండ్ చేసి 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 మరియు ఐడెంటిటీ ప్రొవైడర్గా Authentik వాడటం ద్వారా బాక్స్లోని ప్రతి అప్లికేషన్కు ఒకే లాగిన్ మరియు ఒకే సర్టిఫికేట్ లభిస్తుంది. Open WebUI ని TLS (transport layer security) వెనుక ఉంచినప్పుడు, 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 ను నేరుగా పబ్లిక్ IPలో ఉంచడం సురక్షితమేనా?
దీని స్వంత హార్డనింగ్ పేజీ ప్రకారం, ఇది డేటాబేస్ లేదా CI సర్వర్ వంటి ప్రైవేట్, నమ్మకమైన నెట్వర్క్ల కోసం రూపొందించబడిన సాఫ్ట్వేర్. ఇందులో నిజమైన ఖాతాలు ఉంటాయి, మొదటి ఖాతా అడ్మినిస్ట్రేటర్గా మారుతుంది మరియు తర్వాతి ఖాతాలు ఆమోదం పొందే వరకు pending గా ఉంటాయి, కాబట్టి లాగిన్ లేని UI కంటే ఇది చాలా సురక్షితం. అయినప్పటికీ, దీన్ని TLS కలిగిన రివర్స్ ప్రాక్సీ వెనుక ఉంచండి మరియు వీలైనప్పుడల్లా సింగిల్ సైన్-ఆన్ (SSO) ఉపయోగించండి. కంటైనర్ పోర్ట్ను 127.0.0.1:3000:8080 గా పబ్లిష్ చేయండి, తద్వారా Docker యొక్క స్వంత iptables నియమాలు మీకు తెలియకుండానే దీన్ని ఇంటర్నెట్కు బహిర్గతం చేయవు.
VPSలో తక్కువ RAM వినియోగించే Open WebUI ప్రత్యామ్నాయం ఏది?
Hollama మరియు OrionChat వంటి బ్రౌజర్ ఆధారిత అప్లికేషన్లు తక్కువ RAM తీసుకుంటాయి, ఎందుకంటే అప్లికేషన్ క్లయింట్ వైపు నడుస్తుంది. సర్వర్ కేవలం స్టాటిక్ ఫైళ్లను మాత్రమే పంపుతుంది, మరియు OrionChat కు ఎటువంటి అప్లికేషన్ కంటైనర్ అవసరం లేదు. Open WebUI ఒక Python ప్రాసెస్, డేటాబేస్ మరియు డిఫాల్ట్గా ఒక లోకల్ ఎంబెడ్డింగ్ మోడల్ను మెమరీలో ఉంచుతుంది; కేవలం ఎంబెడ్డింగ్ మోడల్ కోసమే ప్రతి వర్కర్కు సుమారు 500 MB అవసరమవుతుందని డాక్యుమెంట్ చేయబడింది. మీరు ఎనేబుల్ చేసే ఫీచర్లను బట్టి ఈ విలువలు మారవచ్చు కాబట్టి, మీ సర్వర్లో docker stats --no-stream ద్వారా ఖచ్చితమైన గణాంకాలను సరిచూసుకోండి.
ఈ చాట్ UIలు వేరే హోస్ట్లోని Ollama సర్వర్ను ఉపయోగించగలవా?
Open WebUI మరియు LibreChat ఉపయోగించగలవు. వీటి సర్వర్ కనెక్షన్ను ఏర్పాటు చేస్తుంది కాబట్టి, బ్రౌజర్ నియమాలు వర్తించవు. Open WebUI కోసం OLLAMA_BASE_URL ని సెట్ చేయండి, లేదా LibreChat లోని కస్టమ్ ఎండ్పాయింట్లో baseURL ని ఉపయోగించండి. vLLM లేదా ఇతర OpenAI-అనుకూల సర్వర్ల కోసం, /v1 సఫిక్స్తో పాటు OPENAI_API_BASE_URL ని ఉపయోగించండి మరియు ఖాళీగా లేని API కీని అందించండి. Hollama మరియు OrionChat కూడా ఎక్కడికైనా కనెక్ట్ అవ్వగలవు, కానీ అభ్యర్థన మీ బ్రౌజర్ నుండి వస్తుంది కాబట్టి, ఆ ఎండ్పాయింట్ మీ బ్రౌజర్కు అందుబాటులో ఉండాలి.
నా బ్రౌజర్ చాట్ UI ఎందుకు Ollamaను చేరుకోలేకపోతోంది?
దాదాపు అన్ని సందర్భాల్లో రెండు కారణాలు ఉంటాయి. Ollama డిఫాల్ట్గా 127.0.0.1:11434 కి బైండ్ అవుతుంది, కాబట్టి OLLAMA_HOST మారే వరకు వేరే మెషీన్లోని బ్రౌజర్ దీన్ని చేరుకోలేదు. అలాగే, Ollama కేవలం localhost నుండి వచ్చే క్రాస్-ఆరిజిన్ అభ్యర్థనలను మాత్రమే అంగీకరిస్తుంది, కాబట్టి మీ డొమైన్ నుండి వచ్చే పేజీని OLLAMA_ORIGINS లో ఆ ఆరిజిన్ పేర్కొనే వరకు No 'Access-Control-Allow-Origin' header is present on the requested resource తో తిరస్కరిస్తుంది. ఒకవేళ పేజీ HTTPS అయి ఉండి, ఎండ్పాయింట్ HTTP అయితే, Ollama చూడకముందే బ్రౌజర్ దీన్ని మిక్స్డ్ కంటెంట్గా పరిగణించి బ్లాక్ చేస్తుంది. ఈ రెండు వేరియబుల్స్ను systemctl edit ollama.service ఓవర్రైడ్లో సెట్ చేయండి, లేదా SSH ద్వారా పోర్ట్ను ఫార్వర్డ్ చేయండి, అప్పుడు ఈ సమస్య పరిష్కారమవుతుంది.