
Τοπικό ChatGPT σε 10 Λεπτά: Open WebUI + Ollama (2026)
Αν ευχηθήκατε ποτέ το ChatGPT να ζούσε στο laptop σας αντί στον server της OpenAI, το Open WebUI + Ollama είναι ακριβώς η τεχνολογική στοίβα που θέλετε. Το Open WebUI σας προσφέρει μια polished διεπαφή συνομιλίας· το Ollama εκτελεί τα μοντέλα τοπικά. Χωρίς κλειδιά API, χωρίς χρέωση ανά token, χωρίς δεδομένα να φεύγουν από το μηχάνημά σας. Αυτός ο οδηγός θα σας πάει από ένα fresh terminal στην πρώτη σας συνομιλία σε περίπου δέκα λεπτά, και στη συνέχεια προσθέτει όσα παραλείπουν τα περισσότερα tutorials: φωνητική είσοδο/έξοδο, Pipelines, MCP, benchmarks για Apple Silicon και μια καθαρή διαδρομή HTTPS με Caddy.
Γρήγορα συμπεράσματα:
- Το Open WebUI είναι ένα self-hosted frontend στυλ ChatGPT· το Ollama είναι ο τοπικός executor μοντέλων που το υποστηρίζει.
- Η διαδρομή με ένα μόνο container Docker σας οδηγεί στην πρώτη συνομιλία σε ~10 λεπτά σε ένα «ζεστό» μηχάνημα.
- Ορίστε το
OLLAMA_BASE_URLσεhttp://host.docker.internal:11434για να διορθώσετε το σφάλμα «αδυναμία σύνδεσης» εννέα φορές στις δέκα.- Τα κορυφαία χαρακτηριστικά του Open WebUI είναι τα Pipelines/Functions, το native RAG, η φωνητική είσοδος/έξοδος και το MCP, κανένα από τα οποία δεν προσφέρει το LM Studio.
Τι είναι πραγματικά το Open WebUI + Ollama;
Το Open WebUI είναι ένα open-source, self-hosted web interface που προσφέρει στο Ollama (και σε άλλους τοπικούς runtime LLM) μια διεπαφή συνομιλίας στυλ ChatGPT. Μαζί σας επιτρέπουν να εκτελείτε ιδιωτικά μοντέλα AI στο δικό σας μηχάνημα, χωρίς κλειδιά API, χωρίς κόστος ανά token, με πλήρη έλεγχο των δεδομένων. Το Open WebUI είναι το layer συνομιλίας· το Ollama είναι το layer μοντέλου. Επικοινωνούν μέσω HTTP στη θύρα 11434, και αυτή είναι ολόκληρη η αρχιτεκτονική.
Ας αναλύσουμε τα κομμάτια, επειδή τα ονόματα ακούγονται εναλλάξιμα αλλά δεν είναι:
- Open WebUI, η εφαρμογή browser που χρησιμοποιείτε πραγματικά. Πολλών χρηστών, με ενσωματωμένο RAG, σύστημα plugin, τρέχει στη θύρα 8080 μέσα στο Docker (την χαρτογραφείτε στην 3000 στον host σας).
- Ollama, ο server μοντέλων. Κατεβάζει αρχεία GGUF (σκεφτείτε τα ως
.mp3για μοντέλα AI), τα φορτώνει στον CPU/GPU σας και εκθέτει ένα τακτοποιημένο HTTP API στη θύρα 11434. - Μοντέλα, τα πραγματικά αρχεία βαρών.
llama3.2:3b,qwen2.5:14b,deepseek-r1:7b, κ.λπ. Κατεβαίνουν μέσωollama pullκαι εμφανίζονται στη βιβλιοθήκη μοντέλων του Ollama.
Γιατί αυτός ο συνδυασμός κερδίζει: ιδιωτικότητα (τα δεδομένα μένουν τοπικά), κόστος (μηδέν ανά token), δυνατότητα offline λειτουργίας, multi-user out of the box και ένα πραγματικό οικοσύστημα plugin. Αν είστε νέοι στον ευρύτερο χώρο, ο οδηγός μας για εκτέλεση LLM τοπικά καλύπτει την πλευρά του hardware.
Τα επίσημα docs του Open WebUI είναι η κανονική αναφορά, bookmark them. Είναι λιτά, αλλά ακριβή.
Πώς εγκαθιστώ το Open WebUI με το Ollama; (Γρήγορη Ρύθμιση)
Εγκαταστήστε το Docker, εγκαταστήστε το Ollama, και μετά εκτελέστε docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main. Επισκεφθείτε το http://localhost:3000, δημιουργήστε τον λογαριασμό admin, κατεβάστε ένα μοντέλο από Admin → Settings → Connections → Ollama και ξεκινήστε τη συνομιλία. Συνολικός χρόνος: περίπου 10 λεπτά σε ένα «ζεστό» μηχάνημα.
Ακολουθεί η πλήρης διαδρομή, βήμα προς βήμα:
1. Εγκαταστήστε το Docker Desktop, κατεβάστε το από το docker.com για Mac/Windows, ή apt install docker.io σε Linux.
2. Εγκαταστήστε το Ollama
# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows: download installer from ollama.com3. Κατεβάστε ένα αρχικό μοντέλο. Θα ξεκινούσα με το llama3.2:3b, γρήγορο σε σχεδόν οποιοδήποτε μηχάνημα, αρκετά έξυπνο για να φαίνεται χρήσιμο. Αν θέλετε μια επισκόπηση των ισχυρότερων επιλογών, δείτε τη λίστα μας με τα καλύτερα open-source LLMs.
ollama pull llama3.2:3b4. Εκτελέστε το container του Open WebUI (η κανονική εντολή):
docker run -d \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main5. Ανοίξτε το http://localhost:3000, εγγραφείτε (ο πρώτος χρήστης γίνεται αυτόματα admin) και συνομιλείτε.
Pro tip: Σε Mac με Apple Silicon, εκτελέστε το Ollama natively (όχι σε Docker). Αυτό είναι εκ σχεδιασμού, επιτρέπει στο Ollama να χρησιμοποιήσει το Metal GPU. Το Open WebUI τρέχει σε Docker· τα δύο επικοινωνούν μέσω
host.docker.internal:11434.
Σχετικά με την υπόσχεση των «10 Λεπτών»: αυτός είναι ένας αριθμός για «ζεστό» μηχάνημα, με το Docker ήδη εγκατεστημένο και decent internet για το κατέβασμα της εικόνας (~2 GB) και του μοντέλου (~2 GB). Πρώτη-ever εγκατάσταση Docker χωρίς cache; Προσθέστε δέκα λεπτά για αυτό. Αργή σύνδεση; Προσθέστε άλλα πέντε. Ειλικρινής baseline, όχι marketing number.
Docker Compose: Η Ρύθμιση Έτοιμη για Παραγωγή
Αν θέλετε μια reproducible, multi-container ρύθμιση για το Open WebUI плюс μια self-contained υπηρεσία Ollama, το Docker Compose είναι η πιο καθαρή διαδρομή. Ένα αρχείο YAML δηλώνει και τις δύο υπηρεσίες, ένα shared network, named volumes για persistence και σας επιτρέπει να κάνετε redeploy με μία μόνο εντολή docker compose up -d. Ιδανικό για servers, homelabs ή ομάδες.
Το trick που μπερδεύει τους ανθρώπους: όταν και οι δύο υπηρεσίες τρέχουν μέσα στο Compose, ορίστε OLLAMA_BASE_URL=http://ollama:11434 (το όνομα της υπηρεσίας Compose), όχι host.docker.internal. Το internal DNS του Docker επιλύει αυτόματα το όνομα της υπηρεσίας.
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama:/root/.ollama
restart: always
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
volumes:
- open-webui:/app/backend/data
depends_on:
- ollama
restart: always
volumes:
ollama:
open-webui:Φέρτε το up:
docker compose up -d
docker compose logs -fΔύο σημεία αξίζουν να επισημανθούν. Πρώτον, τα named volumes (ollama: και open-webui: στο κάτω μέρος) είναι προτιμότερα από τα bind mounts εδώ, το Docker διαχειρίζεται τα permissions και το ιστορικό/chat/config σας επιβιώνουν από rebuilds των containers. Δεύτερον, αν θέλετε ένα Open WebUI να μιλάει με τοπικό Ollama και απομακρυσμένα OpenAI/Anthropic μέσω μιας μόνο URL, τοποθετήστε ένα LiteLLM proxy μπροστά. Και αν ακόμα επιλέγετε το runtime layer σας, η συλλογή μας με τα καλύτερα εργαλεία τοπικών LLM καλύπτει τα Ollama, vLLM, LM Studio και φίλους.
Επιτάχυνση GPU: NVIDIA, AMD και Apple Silicon
Το Ollama ανιχνεύει αυτόματα GPUs NVIDIA μέσω του NVIDIA Container Toolkit, GPUs AMD μέσω ROCm σε Linux και GPUs Apple Silicon natively μέσω Metal. Δεν περνάτε --gpus all στο Open WebUI, μόνο το Ollama χρειάζεται το GPU. Η πιο γρήγορη ρύθμιση σε κάθε πλατφόρμα φαίνεται διαφορετική και μερικά στιγμιότυπα «γιατί είναι αργό αυτό;» οφείλονται στο ότι το Ollama βρίσκεται στο λάθος μέρος.
NVIDIA (Linux + Windows WSL2)
Εγκαταστήστε το NVIDIA Container Toolkit και μετά εκτελέστε το Ollama σε Docker με --gpus all:
docker run -d --gpus=all \
-v ollama:/root/.ollama \
-p 11434:11434 \
--name ollama \
ollama/ollamaΕπαληθεύστε με nvidia-smi ενώ ένα μοντέλο είναι φορτωμένο, θα πρέπει να βλέπετε το ollama στη λίστα διεργασιών GPU. Η env var OLLAMA_NUM_GPU σας επιτρέπει να περιορίσετε τα layers όταν διαχειρίζεστε VRAM με άλλα workloads.
Apple Silicon (M1/M2/M3/M4)
Εκτελέστε το Ollama natively, όχι σε Docker. Δεν υπάρχει ακόμη Metal GPU passthrough στο Docker (στα αρχές του 2026), επομένως ένα Dockerized Ollama σε Mac πέφτει πίσω σε CPU και θα αναρωτιέστε γιατί το M3 Max σας feels σαν ThinkPad του 2015. Το Open WebUI εξακολουθεί να τρέχει σε Docker· φτάνει στο Ollama μέσω host.docker.internal:11434.
Στο M2 Pro μου (16 GB) τρέχοντας llama3.2:3b, βλέπω roughly 45-55 tokens/sec. Το llama3.1:8b πέφτει σε ~22-28 tokens/sec. Το qwen2.5:14b είναι οριακά usable σε ~9-12 tokens/sec, ok για chat, painful για batch work. Οι αριθμοί vary με το quantization και το μήκος context, αλλά αυτή είναι η τάξη μεγέθους.
"Tokens/sec by Model and Hardware"
Πίνακας δεδομένων
| "Model" | "Apple M2 Pro 16GB" | "RTX 3060 12GB" | "RTX 4090 24GB" |
|---|---|---|---|
| "llama3.2:3b" | 50 | 75 | 180 |
| "llama3.1:8b" | 25 | 45 | 110 |
| "qwen2.5:14b" | 11 | 22 | 65 |
AMD (ROCm σε Linux)
Το Ollama 0.5+ διαθέτει υποστήριξη ROCm για κάρτες RDNA2/RDNA3 (σειρές RX 6000/7000, chips datacenter MI200/MI300). Χρησιμοποιήστε την dedicated εικόνα:
docker run -d --device=/dev/kfd --device=/dev/dri \
-v ollama:/root/.ollama \
-p 11434:11434 \
--name ollama \
ollama/ollama:rocmΗ απόδοση AMD έχει κλείσει αισθητά το χάσμα μέσα στο 2025 — όχι ακόμη σε επίπεδο NVIDIA, αλλά δεν είναι πλέον science project.
Πώς προσθέτω RAG (τα δικά μου PDFs) στο Open WebUI;
Το Open WebUI διαθέτει native RAG. Κάντε κλικ στο προφίλ σας → Workspace → Knowledge, δημιουργήστε μια βάση γνώσης, ρίξτε μέσα PDFs, έγγραφα Word, Markdown ή αρχεία κειμένου. Στο background το Open WebUI τεμαχίζει τα έγγραφα, τα κάνει embed με το configured embedding model (προεπιλογή nomic-embed-text), τα αποθηκεύει στο ChromaDB και τα ανακτά κατά το query time. Δεν απαιτείται εξωτερική υπηρεσία.
Η ρύθμιση απαιτεί ένα extra βήμα: κατεβάστε πρώτα το embedding model.
ollama pull nomic-embed-textΣτη συνέχεια, στο Admin → Settings → Documents, ορίστε το embedding model σε nomic-embed-text. Προσαρμόστε το μέγεθος chunk (προεπιλογή 1500) και το overlap (προεπιλογή 100) κατά βούληση. Το κλασικό gotcha: πολύ μεγάλα chunks ξεπερνούν το context window σας σε μικρά μοντέλα. Αν τρέχετε llama3.2:3b με context 4K, chunks 1500 tokens αφήνουν σχεδόν καθόλου χώρο για την πραγματική ερώτηση, πέστε στα 800 με overlap 80.
Για να χρησιμοποιήσετε μια βάση γνώσης στη συνομιλία, πληκτρολογήστε # και επιλέξτε τη συλλογή. Ή attach it permanently σε ένα Custom Model στο Workspace → Models. Η web search λειτουργεί παρόμοια, ενεργοποιήστε έναν provider (SearXNG, Brave ή Tavily) στο Admin → Settings → Web Search και το μοντέλο μπορεί να τραβήξει live αποτελέσματα.
Για μια βαθύτερη σύγκριση RAG, δείτε τη συλλογή μας εργαλεία RAG. Και αν το ChromaDB δεν επαρκεί σε scale, η ανάλυσή μας για επιλογές vector database καλύπτει τα Qdrant, pgvector και τα tradeoffs.
Φωνητική Είσοδος/Έξοδος: Μιλήστε στο Τοπικό σας AI
Το Open WebUI υποστηρίζει τόσο speech-to-text (STT) όσο και text-to-speech (TTS). Για STT, το faster-whisper τρέχει τοπικά χωρίς κλειδί API. Για TTS, μπορείτε να συνδέσετε το TTS API της OpenAI ή να εκτελέσετε μια τοπική engine όπως το coqui-tts. Μόλις ενεργοποιηθεί, εμφανίζεται ένα εικονίδιο μικροφώνου στο πλαίσιο συνομιλίας και το τοπικό σας AI αρχίζει να απαντά φωνητικά.
Πηγαίνετε στο Admin → Settings → Audio. Δύο engines, δύο dropdowns.
Διαδρομή STT, επιλέξτε Whisper (Local), επιλέξτε μέγεθος μοντέλου: tiny, base, small, medium ή large. Το μοντέλο κατεβαίνει αυτόματα στην πρώτη χρήση. Το base είναι το sweet spot για τα περισσότερα laptops· το medium αν έχετε περιθώριο GPU.
Διαδρομή TTS, το απλούστερο είναι το OpenAI TTS: επικολλήστε ένα κλειδί API, επιλέξτε tts-1 και μια φωνή (alloy, nova, κ.λπ.). Πλήρως τοπική διαδρομή: engine coqui-tts, με ξεχωριστή εικόνα Docker. Οι περισσότεροι καταλήγουν σε τοπικό Whisper + OpenAI TTS ως pragmatic middle ground, το audio σας δεν φεύγει ποτέ από το κουτί για input και το API call είναι απλώς ένα short text string για output.
Μπορείτε να ενσωματώσετε την επιλογή στο container με env vars:
docker run -d \
-e WHISPER_MODEL=base \
-e AUDIO_STT_ENGINE=whisper \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:mainΗ πλήρης αναφορά audio βρίσκεται στα docs του GitHub του Open WebUI.
Pipelines & Functions: Το Κορυφαίο Χαρακτηριστικό του Open WebUI
Τα Pipelines και οι Functions είναι ο τρόπος να επεκτείνετε το Open WebUI χωρίς να κάνετε fork. Τα Pipelines είναι εξωτερικές υπηρεσίες Python που λειτουργούν ως φίλτρα, routers μοντέλων ή full custom handlers. Οι Functions είναι inline Python (Filter, Action ή Pipe) που ζουν μέσα στο ίδιο το Open WebUI. Μαζί είναι ο λόγος που το Open WebUI beats το LM Studio για serious users.
Τρεις τύποι Function, μία πρόταση ο καθένας:
- Filter, pre/post-processes messages (αφαίρεση PII, φίλτρο βωμολοχιών, rewriting prompt).
- Action, ένα κουμπί στη διεπαφή συνομιλίας που triggers Python (re-summarize, save to Notion, εκτέλεση SQL query).
- Pipe, ένας full custom handler μοντέλου (route σε remote API, chain multiple models, build an agent).
Εδώ είναι ένα minimal Filter που αφαιρεί διευθύνσεις email από τα prompts των χρηστών πριν φτάσουν στο μοντέλο:
from pydantic import BaseModel
import re
class Filter:
class Valves(BaseModel):
priority: int = 0
def __init__(self):
self.valves = self.Valves()
def inlet(self, body: dict, __user__: dict = None) -> dict:
for message in body.get("messages", []):
if message.get("role") == "user":
message["content"] = re.sub(
r"[\w\.-]+@[\w\.-]+",
"[REDACTED_EMAIL]",
message["content"],
)
return bodyΡίξτε το στο Admin → Settings → Functions → New, αποθηκεύστε και ενεργοποιήστε το για οποιοδήποτε μοντέλο. Τέλος.
Για external Pipelines, σηκώστε το dedicated container παράλληλα με το Open WebUI:
pipelines:
image: ghcr.io/open-webui/pipelines:main
container_name: pipelines
ports:
- "9099:9099"
volumes:
- pipelines:/app/pipelines
restart: alwaysΣτη συνέχεια, στο Admin → Settings → Connections, προσθέστε το http://pipelines:9099 ως OpenAI-compatible API. Upload .py αρχεία στο Admin → Settings → Pipelines. Το επίσημο repo Pipelines έχει δεκάδες παραδείγματα, routers μετάφρασης, logging Langfuse, function calling, τα πάντα.
MCP: Σύνδεση του Open WebUI με Εξωτερικά Εργαλεία
Το Open WebUI 0.6+ υποστηρίζει το Model Context Protocol (MCP), που σημαίνει ότι το τοπικό σας μοντέλο μπορεί να καλεί εξωτερικά εργαλεία, αναζήτηση αρχείων, GitHub, Slack, τους δικούς σας custom servers, μέσω του ίδιου πρωτοκόλλου που χρησιμοποιεί το Claude Desktop. Είναι ο πιο clean τρόπος να δώσετε σε ένα τοπικό μοντέλο πραγματική χρήση εργαλείων χωρίς να γράψετε ένα Pipeline.
Προσθέστε έναν server MCP στο Admin → Settings → Tools: επικολλήστε το URL του server, δώστε του ένα όνομα και ενεργοποιήστε το per model. Το μοντέλο αποφασίζει πότε να το καλέσει κατά τη διάρκεια της συνομιλίας. Καλύπτουμε το πρωτόκολλο end-to-end στον οδηγό Model Context Protocol (MCP), ίδια patterns, απλώς από την πλευρά του Open WebUI αντί του Claude Desktop.
Γιατί έχει σημασία αυτό: στα μέσα του 2026, σχεδόν κανένα tutorial του Open WebUI δεν αναφέρει το MCP. Αν έχετε ήδη standardize σε servers MCP για τη ρύθμιση Claude ή Cursor σας, μπορείτε να δείξετε το Open WebUI στους ακριβώς ίδιους servers. Ένα πρωτόκολλο, κάθε client.
Γιατί το Open WebUI δεν βλέπει τα μοντέλα Ollama μου; (Αντιμετώπιση προβλημάτων)
Αν το Open WebUI φορτώνει αλλά το dropdown μοντέλων είναι άδειο, το container δεν μπορεί ναreach το Ollama. Εννέα φορές στις δέκα η λύση είναι --add-host=host.docker.internal:host-gateway plus OLLAMA_BASE_URL=http://host.docker.internal:11434. Σε Linux χωρίς τη flag host-gateway, το bridge network του Docker δεν μπορεί να δει τη θύρα 11434 του host. Την πρώτη φορά που deployάραμε αυτό σε Linux box πελάτη, χτυπήσαμε ακριβώς αυτό και χάσαμε μία ώρα.
Τρεις root causes, κατά σειρά συχνότητας:
-
Έλλειψη flag
--add-host(πιο συνηθισμένο σε Linux). Το macOS Docker Desktop ορίζει τοhost.docker.internalαυτόματα· το Linux χρειάζεται την explicit flag. -
Το Ollama bound μόνο στο
127.0.0.1. Από την οπτική του container, αυτό δεν είναι reachable. Fix:bashOLLAMA_HOST=0.0.0.0:11434 ollama serveΉ ορίστε
Environment="OLLAMA_HOST=0.0.0.0:11434"στη systemd unit σε Linux. -
Firewall / antivirus block τη θύρα 11434. Λιγότερο συνηθισμένο, αλλά ελέγξτε το
ufw, το Windows Defender ή την corporate endpoint protection.
Diagnostic, εκτελέστε αυτό από μέσα στο container του Open WebUI:
docker exec open-webui curl http://host.docker.internal:11434/api/tagsΑν επιστρέψει JSON με τη λίστα μοντέλων σας, το networking είναι fine και το θέμα είναι στις ρυθμίσεις του Open WebUI (ελέγξτε Admin → Connections → Ollama URL). Αν κολλήσει ή αρνηθεί, έχετε ένα issue στην πλευρά του host, ξεκινήστε με την cause #2.
Open WebUI vs LM Studio vs Jan vs AnythingLLM
Το Open WebUI κερδίζει σε multi-user, βάθος RAG και Pipelines/Functions. Το LM Studio κερδίζει σε out-of-the-box απόδοση GPU και polished single-user UI. Το Jan κερδίζει σε minimal-friction first-run. Το AnythingLLM κερδίζει σε εργονομία ingestion εγγράφων. Αν θέλετε ένα self-hosted replacement του ChatGPT για μια ομάδα, το Open WebUI είναι η απάντηση.
| Χαρακτηριστικό | Open WebUI | LM Studio | Jan | AnythingLLM |
|---|---|---|---|---|
| Multi-user | Ναι | Όχι | Όχι | Ναι |
| Native RAG | Ναι (βαθύ) | Μόνο Plugin | Basic | Ναι (καλύτερο UX) |
| Plugins / Extensions | Pipelines + Functions | Περιορισμένα | Extensions | Plugins |
| Υποστήριξη GPU | Μέσω backend Ollama | Built-in (καλύτερο) | Built-in | Μέσω backend |
| Καλύτερο για | Self-hosted ομάδες | Solo desktop power users | Πρώτη φορά τοπικό AI | Workflows heavy σε έγγραφα |
Verdict: αν είστε solo dev που απλώς θέλει να τρέξει ένα μοντέλο στο gaming GPU του και να συνομιλήσει, το LM Studio είναι πιο γρήγορο στη ρύθμιση. Αν χτίζετε ένα private ChatGPT για μια ομάδα, κάνετε serious RAG ή συνδέετε custom Python logic, το Open WebUI είναι η μόνη real choice. Η ευρύτερη ανάρτησή μας καλύτερα εργαλεία τοπικών LLM συγκρίνει το runtime layer (vLLM, llama.cpp, Ollama) κάτω από αυτά τα UIs.
Πώς εκθέτω το Open WebUI ασφαλώς μέσω HTTPS;
Δύο clean διαδρομές: ένα Caddyfile 5 γραμμών μπροστά από το Open WebUI για ένα real πιστοποιητικό Let's Encrypt (production-ish), ή ένα Cloudflare Tunnel για χρήση share-with-my-team με zero ανοιχτές θύρες. Και τα δύο κρατούν το Open WebUI στο localhost:3000 ενώ εκθέτουν μια clean public URL με HTTPS. Επιλέξτε based on whether you control DNS for a domain.
Η διαδρομή Caddy, point your domain at the box, then:
ai.example.com {
reverse_proxy localhost:3000
}Αυτή είναι ολόκληρη η config. Το Caddy fetches ένα πιστοποιητικό Let's Encrypt automatically στο πρώτο request. Εκτελέστε caddy run --config Caddyfile (ή χρησιμοποιήστε τη systemd unit). Πλήρης αναφορά: docs Caddy.
Η διαδρομή Cloudflare Tunnel, cloudflared tunnel create open-webui, route a hostname στη ζώνη Cloudflare σας, then cloudflared tunnel run. Zero ανοιχτές θύρες, το Cloudflare χειρίζεται το TLS. Ιδανικό για «θέλω η ομάδα μου εδώ χωρίς να ανοίξω τρύπες στο firewall μου».
Ένας σκληρός κανόνας: ποτέ μην εκθέτετε τη θύρα 3000 raw στο public internet. Η εγγραφή στο Open WebUI είναι open by default, όποιος χτυπήσει το URL σας μπορεί να δημιουργήσει λογαριασμό. Το WEBUI_AUTH=False είναι fine για LAN, ποτέ για public. Always front it with a reverse proxy plus authenticated signup whitelisting (Admin → Settings → General → "Enable Signup" off after you've created your accounts).
Πώς η Techsy προσεγγίζει τις αναπτύξεις Τοπικών LLM
Έχουμε παραδώσει ρυθμίσεις Open WebUI + Ollama για πελάτες σε νομικά, υγειονομική περίθαλψη και ομάδες internal tooling που δεν μπορούν (ή δεν θέλουν) να στείλουν δεδομένα στην OpenAI. Τα patterns επαναλαμβάνονται αρκετά ώστε να έχουμε σταματήσει να τα γράφουμε από την αρχή, αλλά κάθε deployment έχει τις ίδιες τρεις προτεραιότητες.
Τι κάνουμε πραγματικά:
- Right-size το μοντέλο στο hardware και το budget. Το εύρος 3B–8B χτυπά το sweet spot πιο συχνά από ό,τι όχι. Το bigger isn't always better όταν matter latency και cost-per-month.
- Harden το deployment. Caddy μπροστά, signup disabled,
/app/backend/dataσε backed-up named volume, weekly snapshots και ένα actual disaster-recovery plan. - Wire Pipelines για org-specific needs. Φίλτρα αφαίρεσης PII, custom RAG pipelines pointed σε internal SharePoint ή Confluence, function-calling tools για safe shell access, τα πράγματα που κάνουν ένα chat UI actually useful μέσα σε μια εταιρεία.
Αν προτιμάτε να skip the setup και να σας παραδοθεί ένα private AI stack running, κλείστε μια δωρεάν consultation. Είμαστε happy να το scope.
Επίλογος
Τρία γρήγορα recaps:
- Διαδρομή single-container, ο fastest way στην πρώτη συνομιλία, δέκα honest minutes σε ένα warm machine.
- Docker Compose, αυτό που πραγματικά θέλετε για οτιδήποτε πρέπει να survive ένα reboot.
- Pipelines + RAG + MCP, το moat που κάνει το Open WebUI worth choosing over LM Studio ή Jan.
Συνομιλείτε με το δικό σας AI σε δέκα λεπτά. Από εκεί όλα είναι incremental, προσθέστε RAG όταν έχετε docs, προσθέστε Caddy όταν το θέλετε στο κινητό σας, προσθέστε Pipelines όταν θέλετε να κάνει real work. Αν θέλετε να πάτε deeper στην επιλογή τοπικών μοντέλων, ο οδηγός μας εκτέλεση LLM τοπικά καλύπτει την πλευρά του hardware σε βάθος.
FAQ
Πώς εγκαθιστώ το Open WebUI με το Ollama;
Τρία βήματα: εγκαταστήστε το Docker Desktop, εγκαταστήστε το Ollama (curl -fsSL https://ollama.com/install.sh | sh σε macOS/Linux), και μετά εκτελέστε το canonical container του Open WebUI με docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main. Ανοίξτε το http://localhost:3000 και δημιουργήστε τον λογαριασμό admin σας.
Είναι δωρεάν το Open WebUI;
Ναι, το Open WebUI έχει άδεια MIT και είναι fully open source. Το self-hosting είναι δωρεάν· πληρώνετε μόνο για το hardware που το τρέχει (το laptop σας, έναν server homelab ή ένα cloud VM). Προαιρετικά paid pieces περιλαμβάνουν το TTS API της OpenAI για φωνή, ή commercial models accessed μέσω του OpenAI-compatible connector του Open WebUI. Όλα τα core είναι no-cost.
Μπορεί το Open WebUI να τρέξει χωρίς Ollama;
Ναι, το Open WebUI μιλάει με οποιοδήποτε OpenAI-compatible API. Μπορείτε να το δείξετε απευθείας στην OpenAI, στην Anthropic μέσω ενός LiteLLM proxy, σε servers vLLM, στον HTTP server του llama.cpp ή σε hosted providers όπως Groq και Together. Αλλά το «Open WebUI + Ollama» είναι ο canonical συνδυασμός τοπικού AI επειδή το Ollama κάνει τη διαχείριση μοντέλων dead simple.
Γιατί δεν μπορεί το Open WebUI να συνδεθεί στο Ollama;
Πιο συνηθισμένη αιτία: missing flag --add-host=host.docker.internal:host-gateway και OLLAMA_BASE_URL not set στις ρυθμίσεις του Open WebUI. Δεύτερη πιο συνηθισμένη: Ollama bound μόνο στο 127.0.0.1, unreachable from inside the container, fix με OLLAMA_HOST=0.0.0.0:11434 ollama serve. Εκτελέστε docker exec open-webui curl http://host.docker.internal:11434/api/tags για γρήγορο diagnostic.
Πώς προσθέτω μοντέλα στο Open WebUI;
Ευκολότερη διαδρομή: από τον host, εκτελέστε ollama pull llama3.2:3b (ή οποιοδήποτε μοντέλο από ollama.com/library). Το μοντέλο εμφανίζεται στο dropdown του Open WebUI automatically, no restart needed. Εναλλακτικά, στο Open WebUI πηγαίνετε στο Admin → Settings → Connections → Ollama και χρησιμοποιήστε το in-UI pull button. Either way, τα μοντέλα ζουν στην πλευρά του Ollama.
Ποια είναι η διαφορά μεταξύ Open WebUI και LM Studio;
Το LM Studio είναι μια single-user desktop app focused σε διαχείριση μοντέλων plus chat, strong GPU defaults, slick UI, no multi-user. Το Open WebUI είναι ένας self-hosted server supporting multiple users, native RAG, φωνητική είσοδο/έξοδο, Pipelines/Functions και MCP. Different audiences: LM Studio για solo desktop power users, Open WebUI για ομάδες ή οποιονδήποτε θέλει ένα extensible private ChatGPT.
Μπορώ να χρησιμοποιήσω το Open WebUI σε κινητό;
Ναι, το Open WebUI είναι fully responsive, so any mobile browser works. Pair it with HTTPS (Caddy με πιστοποιητικό Let's Encrypt, ή Cloudflare Tunnel) και becomes a fully functional mobile chat app. Προσθέστε το στην home screen σας σε iOS ή Android για μια near-native PWA experience. Don't expose it publicly without auth, though.
Πώς ενημερώνω το Open WebUI;
Pull the latest image and restart: docker pull ghcr.io/open-webui/open-webui:main && docker stop open-webui && docker rm open-webui και μετά re-run την αρχική σας εντολή docker run. Τα named volumes preserve all data, chat history, users, RAG collections και settings. Με Docker Compose: docker compose pull && docker compose up -d. Τα updates ship roughly weekly.
Υποστηρίζει το Open WebUI φωνητική συνομιλία;
Ναι, τόσο speech-to-text (μέσω τοπικού faster-whisper) όσο και text-to-speech (μέσω TTS API της OpenAI ή τοπικού coqui-tts). Configure both στο Admin → Settings → Audio. Μόλις ενεργοποιηθεί, εμφανίζεται ένα εικονίδιο μικροφώνου στο πλαίσιο συνομιλίας. Η pragmatic setup είναι τοπικό Whisper plus OpenAI TTS, fully offline input, fast clean output. Δείτε την ενότητα Voice I/O above για configuration env-var.
Πώς προσθέτω τα PDFs μου στο Open WebUI;
Κάντε κλικ στο προφίλ σας → Workspace → Knowledge → New collection, και μετά upload PDFs, έγγραφα Word, Markdown ή αρχεία κειμένου. Το Open WebUI τεμαχίζει τα έγγραφα, τα κάνει embed με nomic-embed-text (pull it first via ollama pull nomic-embed-text) και τα αποθηκεύει στο ChromaDB. Αναφερθείτε σε οποιαδήποτε collection στη συνομιλία με #collection-name, ή attach permanently σε ένα Custom Model.