איך להקים מודל AI פרטי על שרת משלכם עם Ollama ו־Open WebUI דרך SSH

יוני 3, 2026

איך להקים מודל AI פרטי על שרת משלכם עם Ollama ו־Open WebUI דרך SSH

הקדמה: למה בכלל להקים AI פרטי על שרת משלכם?

רוב האנשים משתמשים היום בכלים כמו ChatGPT, Gemini או Claude דרך שירותי ענן. זה נוח, אבל לא תמיד מתאים למי שרוצה יותר שליטה, פרטיות, התאמה אישית או מערכת AI שאפשר לחבר לאתר, לעסק, למסמכים פנימיים או למשתמשים פרטיים.

במדריך הזה נלמד איך להקים מערכת AI פרטית על שרת משלכם, עם מודל שרץ דרך Ollama וממשק משתמש גרפי דרך Open WebUI. Open WebUI תומך ב־Ollama ובספקים נוספים, וניתן להריץ אותו דרך Docker, Python או Kubernetes, כאשר Docker הוא המסלול המהיר והמומלץ לרוב המשתמשים.

בסוף המדריך תהיה לכם מערכת AI פעילה בדומיין משלכם, לדוגמה:


# Author: pablo rotem
https://ai.example.com

מה נקים במדריך הזה?

נקים מערכת שמורכבת משלושה חלקים:

  1. Ollama — המנוע שמריץ את מודלי ה־AI.
  2. Open WebUI — ממשק דמוי ChatGPT שמתחבר ל־Ollama.
  3. Caddy — שרת Reverse Proxy שנותן לנו דומיין ו־HTTPS אוטומטי.

Ollama יריץ את המודלים, Open WebUI יציג ממשק נוח למשתמש, ו־Caddy ידאג לכך שהמערכת תהיה נגישה דרך דומיין מאובטח עם HTTPS.

דרישות לפני שמתחילים

  • שרת VPS או Dedicated Server.
  • Ubuntu 22.04 או Ubuntu 24.04.
  • גישת SSH לשרת.
  • דומיין או סאב־דומיין, לדוגמה ai.example.com.
  • לפחות 8GB RAM למודלים קטנים.
  • מומלץ 16GB RAM ומעלה למודלים שימושיים יותר.
  • מומלץ GPU אם רוצים ביצועים טובים, אבל אפשר להתחיל גם על CPU.

המדריך כתוב עבור Ubuntu. אם אתם משתמשים בהפצה אחרת, רוב הרעיון זהה, אבל פקודות ההתקנה עשויות להשתנות.

שלב 1: התחברות לשרת דרך SSH

במחשב שלכם פותחים Terminal / PowerShell / CMD ומתחברים לשרת:


# Author: pablo rotem
ssh root@SERVER_IP

להחליף את SERVER_IP בכתובת ה־IP האמיתית של השרת.

לדוגמה:

אם אתם משתמשים במשתמש שאינו root:


# Author: pablo rotem
ssh username@SERVER_IP

שלב 2: עדכון השרת

אחרי שהתחברתם לשרת, מריצים:


# Author: pablo rotem
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget nano git ca-certificates gnupg lsb-release ufw

זה מעדכן את השרת ומתקין כלים בסיסיים שנצטרך בהמשך.

שלב 3: הגדרת Firewall בסיסי

נפתח רק את הפורטים הדרושים:

  • SSH — פורט 22
  • HTTP — פורט 80
  • HTTPS — פורט 443

# Author: pablo rotem
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

חשוב: Docker יכול לחשוף פורטים בצורה שעוקפת חלק מכללי Firewall רגילים. לכן במדריך הזה נחבר את Open WebUI רק ל־127.0.0.1, ורק Caddy יחשוף אותו החוצה דרך HTTPS.

שלב 4: התקנת Docker ו־Docker Compose

נשתמש ב־Docker כדי להריץ את Ollama ואת Open WebUI בצורה נקייה, קלה לעדכון וקלה לניהול.


# Author: pablo rotem
sudo apt remove -y docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc || true

sudo apt update
sudo apt install -y ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg –print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

בודקים ש־Docker עובד:


# Author: pablo rotem
sudo docker run hello-world

אם קיבלתם הודעת הצלחה, Docker מותקן ועובד.

שלב 5: יצירת תיקייה למערכת ה־AI

ניצור תיקייה מסודרת עבור המערכת:


# Author: pablo rotem
sudo mkdir -p /opt/pablo-ai
cd /opt/pablo-ai

שלב 6: יצירת קובץ Docker Compose

ניצור קובץ בשם docker-compose.yml:


# Author: pablo rotem
sudo nano /opt/pablo-ai/docker-compose.yml

להדביק פנימה את הקוד הבא:


# Author: pablo rotem
# File: /opt/pablo-ai/docker-compose.yml

services:
ollama:
image: ollama/ollama:latest
container_name: pablo-ollama
restart: unless-stopped
volumes:
– pablo_ollama_data:/root/.ollama
ports:
– "127.0.0.1:11434:11434"

open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: pablo-open-webui
restart: unless-stopped
depends_on:
– ollama
environment:
– OLLAMA_BASE_URL=http://ollama:11434
– WEBUI_AUTH=true
– WEBUI_SECRET_KEY=CHANGE_THIS_TO_A_LONG_RANDOM_SECRET
volumes:
– pablo_open_webui_data:/app/backend/data
ports:
– "127.0.0.1:3000:8080"

volumes:
pablo_ollama_data:
pablo_open_webui_data:

עכשיו צריך להחליף את CHANGE_THIS_TO_A_LONG_RANDOM_SECRET במפתח סודי אמיתי.

אפשר ליצור אחד כך:


# Author: pablo rotem
openssl rand -hex 32

להעתיק את התוצאה ולהכניס אותה במקום CHANGE_THIS_TO_A_LONG_RANDOM_SECRET.

המשתנה WEBUI_SECRET_KEY חשוב כדי שהתחברויות וסשנים לא יתאפסו בכל פעם שהקונטיינר נוצר מחדש.

שומרים את הקובץ:

  • ב־Nano לוחצים CTRL + O
  • Enter
  • ואז CTRL + X

שלב 7: הפעלת Ollama ו־Open WebUI

מריצים:


# Author: pablo rotem
cd /opt/pablo-ai
sudo docker compose up -d

בודקים שהקונטיינרים רצים:


# Author: pablo rotem
sudo docker ps

אתם אמורים לראות שני קונטיינרים:


# Author: pablo rotem
pablo-ollama
pablo-open-webui

שלב 8: הורדת מודל AI ראשון

עכשיו נוריד מודל ראשון ל־Ollama. מודל קל יחסית להתחלה:


# Author: pablo rotem
sudo docker exec -it pablo-ollama ollama pull llama3.2

אפשר גם להריץ אותו לבדיקה דרך הטרמינל:


# Author: pablo rotem
sudo docker exec -it pablo-ollama ollama run llama3.2

כדי לצאת מהשיחה בטרמינל, לוחצים:


# Author: pablo rotem
CTRL + D

או כותבים:


# Author: pablo rotem
/bye

שלב 9: בדיקה שהממשק עובד מקומית

מכיוון שחיברנו את Open WebUI רק ל־127.0.0.1, הוא לא פתוח ישירות לעולם. זה מכוון.

אפשר לבדוק מתוך השרת:


# Author: pablo rotem
curl -I http://127.0.0.1:3000

אם מקבלים תגובת HTTP, הממשק עובד.

שלב 10: הכנת הדומיין

במערכת ניהול ה־DNS של הדומיין שלכם, צרו רשומת A:


# Author: pablo rotem
Type: A
Name: ai
Value: SERVER_IP
Proxy: DNS Only אם אתם משתמשים ב־Cloudflare

לדוגמה:


# Author: pablo rotem
ai.example.com → 123.123.123.123

אם הדומיין שלכם נמצא ב־Cloudflare, מומלץ בהתחלה לשים את הרשומה על DNS Only עד שה־HTTPS עובד תקין.

שלב 11: התקנת Caddy עבור HTTPS ודומיין

Caddy הוא Reverse Proxy פשוט ונוח שמסוגל להוציא SSL אוטומטי לדומיין שמצביע לשרת.


# Author: pablo rotem
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg –dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install -y caddy

שלב 12: חיבור הדומיין ל־Open WebUI

פותחים את קובץ ההגדרות של Caddy:


# Author: pablo rotem
sudo nano /etc/caddy/Caddyfile

מוחקים את התוכן הקיים, ומדביקים:


# Author: pablo rotem
# File: /etc/caddy/Caddyfile

ai.example.com {
reverse_proxy 127.0.0.1:3000
}

להחליף את ai.example.com בדומיין האמיתי שלכם.

לדוגמה:


# Author: pablo rotem
# File: /etc/caddy/Caddyfile

ai.yourdomain.com {
reverse_proxy 127.0.0.1:3000
}

בודקים שההגדרה תקינה:


# Author: pablo rotem
sudo caddy validate –config /etc/caddy/Caddyfile

אם אין שגיאות, טוענים מחדש את Caddy:


# Author: pablo rotem
sudo systemctl reload caddy

בודקים סטטוס:


# Author: pablo rotem
sudo systemctl status caddy

חשוב: אם Caddy לא מצליח להוציא SSL, בדקו שהדומיין מצביע נכון לשרת ושהפורטים 80 ו־443 פתוחים.

שלב 13: כניסה ראשונה למערכת

עכשיו פותחים בדפדפן:


# Author: pablo rotem
https://ai.example.com

בכניסה הראשונה תתבקשו ליצור משתמש. המשתמש הראשון בדרך כלל הופך למנהל המערכת.

המלצות:

  • השתמשו בסיסמה חזקה.
  • אל תפתחו הרשמה חופשית אם המערכת מיועדת רק לכם או לצוות.
  • בדקו באזור ההגדרות ש־Ollama מחובר.
  • בחרו את המודל שהורדתם, לדוגמה llama3.2.

שלב 14: הוספת מודלים נוספים

אפשר להוסיף עוד מודלים דרך SSH.

לדוגמה:


# Author: pablo rotem
sudo docker exec -it pablo-ollama ollama pull mistral

או:


# Author: pablo rotem
sudo docker exec -it pablo-ollama ollama pull qwen2.5

או מודל קטן יותר אם השרת חלש:


# Author: pablo rotem
sudo docker exec -it pablo-ollama ollama pull gemma3:1b

את רשימת המודלים העדכנית כדאי לבחור מתוך ספריית המודלים של Ollama, כי שמות, גרסאות וגדלים משתנים עם הזמן.

שלב 15: פקודות ניהול חשובות

בדיקת קונטיינרים רצים


# Author: pablo rotem
sudo docker ps

צפייה בלוגים של Open WebUI


# Author: pablo rotem
sudo docker logs -f pablo-open-webui

צפייה בלוגים של Ollama


# Author: pablo rotem
sudo docker logs -f pablo-ollama

הפעלה מחדש של המערכת


# Author: pablo rotem
cd /opt/pablo-ai
sudo docker compose restart

עצירת המערכת


# Author: pablo rotem
cd /opt/pablo-ai
sudo docker compose down

הפעלה מחדש אחרי עצירה


# Author: pablo rotem
cd /opt/pablo-ai
sudo docker compose up -d

שלב 16: עדכון Open WebUI ו־Ollama

כדי לעדכן את הקונטיינרים:


# Author: pablo rotem
cd /opt/pablo-ai

sudo docker compose pull
sudo docker compose up -d

לאחר מכן בודקים שהכול עובד:


# Author: pablo rotem
sudo docker ps

שלב 17: גיבוי הנתונים

הנתונים נשמרים בשני Docker volumes:

  • pablo_ollama_data — המודלים של Ollama.
  • pablo_open_webui_data — המשתמשים, ההגדרות והיסטוריית הממשק של Open WebUI.

ניצור תיקיית גיבויים:


# Author: pablo rotem
sudo mkdir -p /opt/pablo-ai-backups

גיבוי Open WebUI:


# Author: pablo rotem
sudo docker run –rm -v pablo-ai_pablo_open_webui_data:/data -v /opt/pablo-ai-backups:/backup alpine tar czf /backup/open-webui-data-$(date +%F).tar.gz -C /data .

גיבוי Ollama:


# Author: pablo rotem
sudo docker run –rm -v pablo-ai_pablo_ollama_data:/data -v /opt/pablo-ai-backups:/backup alpine tar czf /backup/ollama-data-$(date +%F).tar.gz -C /data .

בודקים שהקבצים נוצרו:


# Author: pablo rotem
ls -lh /opt/pablo-ai-backups

אם שם הפרויקט של Docker Compose שונה, ייתכן שגם שם ה־volume יהיה שונה. אפשר לבדוק את שמות ה־volumes כך:


# Author: pablo rotem
sudo docker volume ls

שלב 18: אבטחה בסיסית למערכת AI פרטית

מערכת AI פרטית עדיין צריכה אבטחה. אל תניחו שהיא בטוחה רק בגלל שהיא “על השרת שלכם”.

המלצות חשובות:

  1. אל תחשפו את פורט 11434 של Ollama ישירות לאינטרנט.
  2. אל תחשפו את פורט 3000 ישירות לאינטרנט.
  3. השתמשו ב־HTTPS בלבד.
  4. הגדירו סיסמאות חזקות.
  5. בטלו הרשמה חופשית אם אין צורך.
  6. שמרו את השרת מעודכן.
  7. אל תעלו למסמכים מידע רגיש בלי להבין מי יכול לגשת אליו.
  8. בצעו גיבויים.
  9. אל תתנו למשתמשים לא מוכרים גישה חופשית למודלים כבדים, כי הם יכולים לצרוך הרבה CPU/RAM/GPU.

שלב 19: איך לחבר את המערכת לאתר או לעסק?

אחרי שהמערכת עובדת, אפשר להשתמש בה בכמה דרכים.

שימוש אישי

פשוט נכנסים ל־Open WebUI ומשתמשים בו כמו ChatGPT פרטי.

שימוש לצוות

יוצרים משתמשים נוספים ונותנים להם לעבוד דרך הדומיין.

שימוש עם מסמכים

אפשר להשתמש ביכולות ידע / מסמכים של Open WebUI כדי להעלות קבצים ולשאול שאלות על תוכן פנימי.

שימוש באתר WordPress

אפשר בעתיד לבנות תוסף WordPress שמדבר עם Ollama API או עם שכבת API פנימית, למשל:

  • צ׳אט תמיכה באתר.
  • סיכום פניות לקוחות.
  • יצירת מאמרים.
  • ניתוח מסמכים.
  • בוט פנימי לעובדים.
  • עוזר לעורכי דין, רופאים, טכנאים או בעלי עסקים.

במקרה כזה חשוב לא לחבר את האתר ישירות ל־Ollama פתוח לאינטרנט, אלא דרך API מאובטח עם הרשאות, Rate Limit ולוגים.

פתרון תקלות נפוצות

הכתובת לא נפתחת בדפדפן

בדקו DNS:


# Author: pablo rotem
ping ai.example.com

בדקו ש־Caddy עובד:


# Author: pablo rotem
sudo systemctl status caddy

בדקו שהקונטיינרים רצים:


# Author: pablo rotem
sudo docker ps

Caddy לא מצליח להוציא SSL

ודאו:

  • הדומיין מצביע ל־IP של השרת.
  • פורטים 80 ו־443 פתוחים.
  • אין Apache/Nginx שתופס את אותם פורטים.
  • אם אתם עם Cloudflare, נסו קודם DNS Only.

בדיקת פורטים:


# Author: pablo rotem
sudo ss -tulpn | grep -E ':80|:443'

Open WebUI לא מזהה את Ollama

בדקו שהקונטיינר של Ollama פעיל:


# Author: pablo rotem
sudo docker logs pablo-ollama –tail=100

בדקו שה־Compose כולל:


# Author: pablo rotem
OLLAMA_BASE_URL=http://ollama:11434

ואז הפעילו מחדש:


# Author: pablo rotem
cd /opt/pablo-ai
sudo docker compose restart

המודל איטי מאוד

זה נורמלי בשרת בלי GPU. אפשר לנסות:

  • מודל קטן יותר.
  • שרת עם יותר RAM.
  • שרת עם GPU.
  • פחות משתמשים במקביל.
  • מודל Quantized קטן יותר.

אין מספיק מקום בדיסק

בדקו מקום:


# Author: pablo rotem
df -h

בדקו גודל Docker:


# Author: pablo rotem
sudo docker system df

מחיקת images לא בשימוש:


# Author: pablo rotem
sudo docker system prune -a

זהירות: לא למחוק Docker volumes אם אינכם בטוחים, כי שם נמצאים הנתונים.

מקורות רשמיים להמשך קריאה

סיכום

במדריך הזה הקמנו מערכת AI פרטית על שרת משלנו בעזרת:

  • SSH לניהול השרת.
  • Docker להרצת השירותים.
  • Ollama להרצת מודלי AI.
  • Open WebUI כממשק משתמש נוח.
  • Caddy לחיבור דומיין ו־HTTPS.

התוצאה היא מערכת AI עצמאית שאפשר להפעיל על שרת פרטי, להשתמש בה לצוות, למסמכים, לאתר, או כבסיס לשירות AI מתקדם יותר.

היתרון הגדול הוא שליטה: אתם בוחרים איפה המודל רץ, איזה מודלים מותקנים, מי מקבל גישה, איך שומרים את הנתונים, ואיך מחברים את המערכת לעסק שלכם.

טיפ אחרון: למערכת אמיתית שמיועדת למשתמשים חיצוניים, כדאי להוסיף שכבת אבטחה נוספת, ניטור משאבים, גיבוי אוטומטי ו־Rate Limit כדי למנוע עומס או שימוש לא רצוי.

Pablo Guides