SSD Nodes Learn
מדריכים Matt Connorמאת Matt Connor · עודכן 2026-07-24

איך להתקין Dify ב-VPS עם Docker Compose

מדריך להתקנת Dify באמצעות Docker Compose. מומלץ להשתמש ב-VPS עם לפחות 4 GB RAM ולעדכן את קובץ .env לפני ההרצה הראשונה כדי לשמור על אבטחה.

מה זה Dify, ומה אתם מתכוונים להריץ

Dify היא פלטפורמה להרצה עצמית (self-hostable) לבניית אפליקציות על גבי מודלים שפתיים גדולים (LLM). אתם מקבלים ממשק אינטרנט לעיצוב אפליקציות צ'אט, סוכנים (agents) וצינורות שליפה (retrieval pipelines), API לקריאה מהקוד שלכם, ומקום מרכזי לניהול הנחיות (prompts), מאגרי נתונים ומפתחות מודל. זהו סוג הכלי שצוות קטן מקים כדי שכולם יבנו על בסיס פרטי משותף, במקום לפזר מפתחות API בתוך סקריפטים שונים.

הרצה עצמית פירושה הרצה של מספר רכיבים. Dify מגיעה כסט של Docker containers: שרת API, worker ברקע, ממשק משתמש (web frontend), בסיס נתונים Postgres, מטמון Redis, ובסיס נתונים וקטורי, כולם מחוברים באמצעות Docker Compose. זהו פתרון מורכב יותר מקובץ binary בודד, אך Compose מטפל בחיבורים, ו-VPS עם כמה gigabytes של RAM פנוי יריץ אותה בנוחות.

מכיוון ש-Dify מחזיקה את מפתחות ה-API של המודלים שלכם, ולעיתים קרובות גם מסמכים פרטיים שהעליתם לצורך שליפה, התייחסו למחשב עליו היא רצה כרגיש מהרגע הראשון. מדריך זה מתקין אותה, ולאחר מכן מגבה אותה (hardens) כפי שמתבצע בכל שירות המחזיק סודות.

Prerequisites

עליכם להשתמש ב-VPS המריץ Ubuntu 24.04 עם Docker ותוסף Docker Compose מותקנים, ומשתמש עם הרשאות sudo או חברות בקבוצת docker. אם Docker חדש עבורכם, the basics of Docker Compose on a VPS מסביר את ההתקנה ואת פקודות הליבה שהמדריך הזה מניח שהן קיימות. מומלץ להחזיק שם דומיין המופנה לשרת, כיוון שתזדקקו ל-TLS לפני Dify במקום להשתמש בכתובת IP בלבד.

Step 1: Get Dify and its Compose files

Dify שומרת את הגדרות ה-Docker שלה במאגר הראשי (main repository). שכפלו אותו ועברו לתיקיית docker:

git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env

הקובץ .env הוא ההגדרה המלאה. קראו אותו לפני שתתחילו בכל פעולה. הערכים החשובים ביותר בתחילה הם אלו שקובעים סיסמאות וסודות: SECRET_KEY, סיסמת ה-Postgres, וסיסמת ה-Redis. קובץ הדוגמה מגיע עם ערכי placeholder, והשארתם כפי שהם היא הדרך הנפוצה ביותר שבה Dify המופעלת עצמית נפרצת. צרו מפתח סודי אמיתי:

openssl rand -base64 42

הדביקו אותו בתוך SECRET_KEY, והגדירו ערך חזק וייחודי עבור כל שדה סיסמה בקובץ.

Step 2: Start it

הרימו את הסט (stack):

docker compose up -d

בהרצה הראשונה המערכת מורידה מספר images ומאתחלת את בסיס הנתונים, לכן המתינו דקה. בדקו שה-containers במצב תקין (healthy):

docker compose ps

כל שירות אמור לקרוא את running. Dify מספקת את ממשק האינטרנט שלה דרך container nginx מובנה בפורט 80 כברירת מחדל. בביקור הראשון שלכם ב-http://YOUR_SERVER/install תצרו את חשבון המנהל (admin). עשו זאת מיד, לפני שכל דבר אחר יוכל לגשת לפורט, מכיוון שעד שהחשבון הזה קיים, כל מי שטוען את הדף יכול לתבוע אותו ולהשתלט על המופע שלכם.

Step 3: Do not expose it raw. Put TLS and a firewall in front

כאן רוב ההתקנות המהירות נעצרות ורוב התקריות מתחילות. ה-nginx של Dify מאזין בפורט 80, ללא הצפנה, בכל ממשק. אינכם רוצים שפרטי ההתחברות של המנהל ומפתחות המודל שלכם יעברו ב-HTTP רגיל, ואינכם רוצים שהשירותים הפנימיים יהיו נגישים מבחוץ.

נעלו את המחשב באמצעות firewall במצב default-deny, המאפשר רק תעבורת SSH ותעבורת אינטרנט:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

זכרו ש-firewall המכסה רק IPv4 יכול להשאיר את אותם פורטים פתוחים ב-IPv6, ה-IPv6 firewall gap שגורם לכל כך הרבה משתמשים ב-self-hosting להיכשל. ודאו ששני הסטים מסוננים.

עבור TLS, הדרך הנקייה ביותר היא לקשר את פורט האינטרנט של Dify ל-loopback ולהריץ reverse proxy עם תעודת Let's Encrypt לפניו, כך שהדבר היחיד שחשוף לאינטרנט הציבורי הוא ה-proxy המדבר ב-HTTPS. ה-.env של Dify מאפשר לכם לשנות את הפורט החשוף; הגדירו אותו כך שיהיה קשור ל-127.0.0.1 וכוונו את ה-proxy שלכם אליו. הרעיונות להגנה על סוכנים (agent-hardening) בתוך running an AI agent safely on a VPS תקפים גם כאן: שמרו על הרכיבים הפנימיים ב-loopback, חשפו רק את מה שחייב להיות ציבורי, ותנו לדלת קדמית אחת מאובטחת לדבר ב-TLS.

Step 4: Keep it patched

Dify מתקדמת במהירות, ועדכונים כוללים תיקוני אבטחה. עדכון מתבצע באמצעות pull ו-restart מתוך תיקיית docker:

git pull
docker compose pull
docker compose up -d

קראו את ה-release notes לפני קפיצה לגרסה ראשית, מכיוון ש-Dify משנה לעיתים את ה-schema של .env בין גרסאות, ומשתנה חדש שלא הגדרתם עלול למנוע מה-container לעלות.

Step 5: Back up what you cannot regenerate

שני דברים בשרת Dify הם בלתי ניתנים להחלפה: בסיס הנתונים של Postgres, שמכיל את האפליקציות, המשתמשים וההגדרות שלכם, וה-volume שמאחסן את המסמכים שהועלו ואת האינדקס הוקטורי. שניהם נמצאים תחת Docker volumes בתיקיית docker. בצעו גיבוי (snapshot) שלהם על פי לוח זמנים, והעתיקו את הגיבויים מחוץ לשרת. ניתן להנפיק מחדש מפתח API של מודל; לא ניתן לשחזר אפליקציה שבניתם במשך שבוע.

לסוכנים אוטונומיים יותר שמריצים קוד, ראו את self-hosting Agent Zero, ו-building your own AI agent on a VPS מסביר את היסודות שמתחת לכולם.

FAQ

What are the system requirements to self-host Dify?

Dify רצה כסט של Docker Compose עם כחצי אמצע דozen containers, לכן תכננו VPS עם לפחות 2 GB RAM פנוי, באופן אידיאלי 4 GB, בנוסף לכמה ליבות CPU ומספיק שטח דיסק עבור המסמכים שהעליתם והאינדקס הוקטורי. עומס הזיכרון נובע מבסיס הנתונים ומאחסן הוקטורי, לא מ-Dify עצמה.

Is it safe to expose Dify directly on port 80?

לא. שרת האינטרנט המובנה של Dify מאזין ב-HTTP רגיל, והוא חושף את פרטי ההתחברות של המנהל ואת מפתחות ה-API של המודל. הציבו reverse proxy עם תעודת Let's Encrypt לפניו, קשרו את הפורט של Dify ל-loopback, ותנו רק ל-proxy של HTTPS להתמודד מול האינטרנט. שלבו זאת עם firewall במצב default-deny המכסה גם IPv4 וגם IPv6.

How do I update a self-hosted Dify?

מתוך תיקיית docker, הריצו את git pull, ולאחר מכן את docker compose pull ו-docker compose up -d כדי להוריד images חדשים ולהפעיל מחדש. קראו תחילה את ה-release notes, מכיוון ש-Dify מוסיפה לעיתים משתני .env חדשים בין גרסאות, ומשתנה חסר עלול למנוע מה-container לעלות.

What is the first thing to do after installing Dify?

גשו ל-/install וצרו את חשבון המנהל מיד. עד שהחשבון הזה קיים, כל מי שיכול לגשת לדף יכול לתבוע אותו. הגדירו אותו ברגע שה-containers במצב תקין, ולפני שתפתחו את ה-firewall לעולם.