LibreChat
ממשק צ'אט מרובה משתמשים באירוח עצמי ל-API של מודלי שפה מסחריים ופתוחים (OpenAI, Anthropic, Google ו-endpoints תואמים), עם agents, חיפוש בשיחות וחיפוש בקבצים. מתאים לצוות שרוצה אפליקציית צ'אט משותפת אחת עם חשבונות והיסטוריה משלו, כשהמודלים עצמם נשארים אצל הספקים.
משאבים לפי רמת עומס
מה האפליקציה עצמה צריכה בכל רמה, לצד מה שאנחנו ממליצים לשרת שמריץ רק אותה.
| רמה | מה זה אומר | דרישות האפליקציה | מומלץ |
|---|---|---|---|
| קלהערכה | עד 10 משתמשים, עד 100 הודעות שמורות ביום (שאלות + תשובות), עד 0.1 GB מסמכים שהועלו לחיפוש בקבצים; היסטוריה של שנה. | 3 vCPU · 4.25 GiB RAM · 15.494 GiB דיסק | 3.72 vCPU · 6.6 GiB RAM · 27.594 GiB דיסק |
| בינוניהערכה | עד 50 משתמשים, עד 500 הודעות שמורות ביום (שאלות + תשובות), עד 0.5 GB מסמכים שהועלו לחיפוש בקבצים; היסטוריה של שנה. | 4.5 vCPU · 6.25 GiB RAM · 21.432 GiB דיסק | 5.52 vCPU · 9 GiB RAM · 34.422 GiB דיסק |
| כבדהערכה | עד 200 משתמשים, עד 2,000 הודעות שמורות ביום (שאלות + תשובות), עד 2 GB מסמכים שהועלו לחיפוש בקבצים; היסטוריה של שנה. | 8 vCPU · 14.75 GiB RAM · 88.695 GiB דיסק | 9.72 vCPU · 19.2 GiB RAM · 111.775 GiB דיסק |
מומלץ = דרישות האפליקציה + baseline של המערכת + מרווח ביטחון (headroom), לפי מדיניות ה-sizing 2026.10.0. האפשרויות נשארות בברירת המחדל. ״הערכה״ פירושה שהמקורות לא נותנים מספר למקרה הזה, ולכן הוא מחושב מהם בשיטה שמפורטת תחת רכיבים. איך המספרים נבנים
קבצים מוכנים להפעלה
רמת תמיכה נתמך
תבנית Compose מהמקורות הרשמיים; עוד לא נבדקה בהרצה.
רכיבים
מה כל רכיב צריך בכל רמת עומס, לפני baseline ו-headroom.
| רכיב | קל | בינוני | כבד | מקורות |
|---|---|---|---|---|
| LibreChat (API and web client) (app) | 1 / 1 / 4.126 | 1.5 / 2 / 4.499 | 2 / 4 / 5.896 | [16][18][19][21][25] |
| MongoDB (database) | 0.25 / 0.75 / 1.319 | 0.5 / 1 / 1.863 | 1 / 2 / 3.902 | [25][27][30] |
| Meilisearch (other) | 0.25 / 0.5 / 1.501 | 0.5 / 0.75 / 6.522 | 1 / 2.75 / 25.349 | [8][25][31][32] |
| PostgreSQL with pgvector (database) | 1 / 1 / 6.5 | 1 / 1 / 6.5 | 2 / 4 / 51.5 | [2][10][33][34][35][39][40][41][42][43][44][45] |
| rag_api (lite) (worker) | 0.5 / 1 / 2.048 | 1 / 1.5 / 2.048 | 2 / 2 / 2.048 | [10][25][35][36][38] |
איך ההערכות מחושבות
- LibreChat (API and web client) · קל: vCPU ו-RAM: המינימום המתועד (1 vCPU, 1 GiB) נלקח ל-container של LibreChat בלבד; התיעוד ממליץ על 2 GB כשהכול מופעל, ושאר ה-containers מכסים את זה. Disk: image של 3.533 GiB (0.921 דחוס ועוד 2.612 פרוס) + העלאות 0.1 GB = 0.093 GiB + 0.5 GiB לקובצי לוג (רוטציה יומית, 20 MB לקובץ, 14 ימים) = 4.126.
- LibreChat (API and web client) · בינוני: RAM: פי 2 מהמינימום המתועד של 1 GiB, ליותר תשובות שמוזרמות במקביל (הנחה). vCPU: תהליך Node.js יחיד (npm run backend) מריץ את ה-event loop על ליבה אחת; תוספת 0.5 ל-garbage collection ולטיפול בקבצים. Disk: image של 3.533 GiB + העלאות 0.5 GB = 0.466 GiB + 0.5 GiB ללוגים = 4.499.
- LibreChat (API and web client) · כבד: RAM: פי 4 מהמינימום המתועד של 1 GiB, להרבה הזרמות במקביל (הנחה). vCPU: תהליך Node.js אחד משתמש בליבה אחת ל-event loop; ליבה שנייה מכסה garbage collection, פענוח קבצים ו-threads של libuv. יותר משתמשים דורשים עוד מופעים של LibreChat, לא עוד ליבות. Disk: image של 3.533 GiB + העלאות 2 GB = 1.863 GiB + 0.5 GiB ללוגים = 5.896.
- MongoDB · קל: נתונים: 100 הודעות × 365 ימים × 4 KB (גודל משוער של הודעה שמורה עם metadata ואינדקסים) = 146 MB = 0.136 GiB בשנה. RAM: ה-cache המינימלי של WiredTiger 256 MB (0.238 GiB), גדול מחצי מנתוני השנה, + 0.5 GiB ל-mongod, לחיבורים ול-file cache = 0.738, עוגל ל-0.75. vCPU: בממוצע כ-0.001 כתיבות בשנייה. Disk: image של 1.183 GiB (0.291 + 0.891) + 0.136 = 1.319.
- MongoDB · בינוני: נתונים: 500 × 365 × 4 KB = 730 MB = 0.68 GiB בשנה. RAM: cache לחצי מנתוני השנה, 0.34 GiB (מעל המינימום של 256 MB), + 0.5 GiB = 0.84, עוגל ל-1. vCPU: 0.5, עדיין הרבה פחות מכתיבה אחת בשנייה בממוצע. Disk: image של 1.183 GiB + 0.68 = 1.863.
- MongoDB · כבד: נתונים: 2,000 × 365 × 4 KB = 2.92 GB = 2.719 GiB בשנה. RAM: cache לחצי מנתוני השנה, 1.36 GiB, + 0.5 GiB = 1.86, עוגל ל-2. vCPU: 1 לאינדקסים ולקריאות של סנכרון החיפוש. Disk: image של 1.183 GiB + 2.719 = 3.902.
- Meilisearch · קל: אינדקס: 100 הודעות × 365 × 1.5 KB טקסט (הנחה) = 0.051 GiB גולמי × 24.6 (המדידה בתיעוד: 9.1 MB ← 224 MB בדיסק) = 1.255 GiB. RAM: עשירית מהאינדקס (לפי התיעוד, לרוב מספיק) = 0.126, הועלה ל-0.5 כי בתיעוד נמדדו כ-305 MB לאינדקס של 224 MB. Disk: image של 0.246 GiB (0.099 + 0.147) + 1.255 = 1.501.
- Meilisearch · בינוני: אינדקס: 500 × 365 × 1.5 KB = 0.255 GiB גולמי × 24.6 = 6.276 GiB. RAM: עשירית מהאינדקס = 0.628, עוגל ל-0.75. Disk: image של 0.246 GiB + 6.276 = 6.522.
- Meilisearch · כבד: אינדקס: 2,000 × 365 × 1.5 KB = 1.02 GiB גולמי × 24.6 = 25.103 GiB. RAM: עשירית מהאינדקס = 2.51, עוגל ל-2.75. Disk: image של 0.246 GiB + 25.103 = 25.349.
- PostgreSQL with pgvector · קל: וקטורים: 0.1 GB טקסט / 1,400 תווים חדשים ל-chunk (CHUNK_SIZE 1500 פחות חפיפה 100) = 71,429 chunks × כ-8.2 KB (וקטור 1536 × 4 + 8 B, 1.5 KB טקסט ו-metadata) = 0.58 GB, בתוך מעטפת ה-light. pgvector/pgvector:0.8.0-pg15-trixie שוקל 152 MiB דחוס, בתוך הקצאת ה-image של 0.5 GiB. מסד metadata מובנה בהגדרות ברירת המחדל של ה-image: שווה ל-preset ה-light של פרופיל PostgreSQL (עד 5 GB נתונים, עד 20 חיבורים בו-זמנית) בכל רמת עומס. שיטת ה-light: shared_buffers 25% מה-RAM, תקציב work_mem ו-maintenance_work_mem למקרה הגרוע, 0.5 GiB ל-image + 5 GiB נתונים + 1 GiB ל-WAL.
- PostgreSQL with pgvector · בינוני: וקטורים: 0.5 GB טקסט / 1,400 תווים = 357,143 chunks × כ-8.2 KB = 2.91 GB, בתוך מעטפת ה-light (עד 5 GB). מסד metadata מובנה בהגדרות ברירת המחדל של ה-image: שווה ל-preset ה-light של פרופיל PostgreSQL (עד 5 GB נתונים, עד 20 חיבורים בו-זמנית) בכל רמת עומס. שיטת ה-light: shared_buffers 25% מה-RAM, תקציב work_mem ו-maintenance_work_mem למקרה הגרוע, 0.5 GiB ל-image + 5 GiB נתונים + 1 GiB ל-WAL.
- PostgreSQL with pgvector · כבד: וקטורים: 2 GB טקסט / 1,400 תווים = 1,428,571 chunks × כ-8.2 KB = 11.65 GB, מעל מעטפת ה-light, ולכן חלים נתוני ה-medium של PostgreSQL (עד 50 GB). RAM: פי 4 מ-light; shared_buffers של 1 GiB הם 25% (ההנחיה בתיעוד); 3 GiB הנותרים מכסים במקרה הגרוע 100 חיבורים × work_mem 4 MB × hash_mem_multiplier 2 (800 MB) ועוד 4 × maintenance_work_mem 64 MB. vCPU: שני תהליכי backend פעילים, או leader ועוד parallel worker אחד. Disk: 0.5 GiB ל-image (155 MiB דחוס × 3, מעוגל למעלה) + 50 GiB נתונים + 1 GiB ל-WAL (ברירת המחדל של max_wal_size); GB נספר כ-GiB.
- rag_api (lite) · קל: RAM: העלאה אחת בעיבוד מחזיקה לכל היותר 500 × (3 + 2) = 2,500 chunks (הנוסחה ב-README, ברירות מחדל); כל אחד הוא list של Python עם 1536 מספרים (כ-49 KB) ועוד 1.5 KB טקסט, כ-0.12 GiB, ועוד כ-0.5 GiB לתהליך Python (הנחה) = 0.62, עוגל ל-1. vCPU: ה-embeddings מחושבים מרחוק; פענוח של קובץ אחד בכל פעם. Disk: image של 2.048 GiB (0.503 + 1.546); ההעלאות נמחקות אחרי יצירת ה-embeddings.
- rag_api (lite) · בינוני: RAM: שתי העלאות בעיבוד, 2 × 0.12 GiB + 0.5 GiB = 0.74, עוגל ל-1.5 לכיוון קו ה-2 GB שב-README, שמתחתיו מומלץ להקטין batches. vCPU: ליבה אחת לפענוח שני קבצים במקביל. Disk: image של 2.048 GiB.
- rag_api (lite) · כבד: RAM: ארבע העלאות בעיבוד, 4 × 0.12 GiB + 0.5 GiB = 0.98, עוגל ל-2, הקו שב-README לשמירה על גודל ה-batch שבברירת המחדל. vCPU: 2 threads שמפענחים קבצים במקביל (ה-thread pool נקבע לפי מספר המעבדים, עד 8). Disk: image של 2.048 GiB.
פורטים
פורטים ציבוריים נועדו לגישה מחוץ ל-stack, בדרך כלל דרך reverse proxy; פורטים פנימיים נשארים ברשת של ה-stack עצמו.
| רכיב | פורט | חשיפה | שימוש | מקורות |
|---|---|---|---|---|
| LibreChat (API and web client) | 3080/tcp | ציבורי, דרך proxy | Web client and API (HTTP), published behind a reverse proxy | [2][6][19] |
| MongoDB | 27017/tcp | פנימי בלבד | MongoDB used by LibreChat (MONGO_URI) | [2][12] |
| Meilisearch | 7700/tcp | פנימי בלבד | Meilisearch API for conversation search; never published | [8][14] |
| PostgreSQL with pgvector | 5432/tcp | פנימי בלבד | PostgreSQL with pgvector, used only by rag_api | [2][10] |
| rag_api (lite) | 8000/tcp | פנימי בלבד | rag_api file indexing and retrieval (RAG_API_URL), called by LibreChat | [2][9][10] |
משתמש והרשאות (UID/GID)
המשתמש שהתהליך של כל קונטיינר רץ תחתיו, והנתיבים שהוא כותב אליהם. bind mount לאחד הנתיבים האלה חייב להיות ניתן לכתיבה על ידי ה-UID:GID הזה.
| רכיב | UID:GID | משתמש | מתחיל כ-root | כותב אל | מקורות |
|---|---|---|---|---|---|
| LibreChat (API and web client)נגזר | 1000:1000 | node | לא | /app/data/app/uploads/app/client/public/images/app/logs | [16][19][26] |
| MongoDB | 999:999 | mongodb | כן, מכין את התיקיות שלו ואז עובר למשתמש הזה | /data/db/data/configdb | [28][29] |
| Meilisearchנגזר | 0:0 | root | לא | /meili_data | [14][32] |
| PostgreSQL with pgvectorנגזר | 999:999 | postgres | כן, מכין את התיקיות שלו ואז עובר למשתמש הזה | /var/lib/postgresql/data/var/run/postgresql | [15][44] |
| rag_api (lite)נגזר | 0:0 | root | לא | /app/uploads | [10][37][38] |
- LibreChat (API and web client): ה-image רץ עם USER node (uid/gid 1000 ב-image הבסיס של Node.js) בלי הורדת הרשאות. ה-Dockerfile יוצר את /app/data (הרשאות 1777), /app/uploads, /app/client/public/images ו-/app/logs בבעלות node, ולכן volumes עם שם שם כתיבים מההתחלה; הלוגים נשארים ב-container.
- Meilisearch: ב-Dockerfile אין הוראת USER, ולכן tini ו-meilisearch רצים כ-root (uid 0) בלי הורדת הרשאות; מסד הנתונים נכתב תחת תיקיית העבודה /meili_data.
- PostgreSQL with pgvector: pgvector/pgvector נבנה FROM ה-image הרשמי של postgres, שה-entrypoint שלו מתחיל כ-root, מתקן בעלות על PGDATA (/var/lib/postgresql/data ב-PostgreSQL 15) ויורד ל-postgres (uid/gid 999).
- rag_api (lite): ב-Dockerfile.lite אין הוראת USER, ולכן python main.py רץ כ-root (uid 0). קבצים שהועלו נכתבים זמנית ל-RAG_UPLOAD_DIR (./uploads תחת /app) ונמחקים אחרי יצירת ה-embeddings; אין צורך ב-volume.
צמיחת אחסון
בכמה הנתונים של כל רכיב גדלים בחודש בכל רמת עומס, מעבר לדיסק שבפרופיל. ערך שמסומן ״הנחה״ הוא הנחה מוצהרת של ANAROQ ולא מספר מהמקורות; ההערות מפרטות על מה היא נשענת.
| רכיב | קל | בינוני | כבד | מקורות |
|---|---|---|---|---|
| LibreChat (API and web client)הנחה | 0.008 | 0.039 | 0.156 | [2] |
| MongoDBהנחה | 0.011 | 0.057 | 0.227 | [27] |
| Meilisearchהנחה | 0.105 | 0.523 | 2.092 | [31] |
על מה מספרי הצמיחה נשענים
- LibreChat (API and web client): ההעלאות של ה-preset (0.093 GiB) מגיעות לאורך 12 חודשים; תמונות שנוצרו ו-avatars קטנים לעומתן.
- LibreChat (API and web client): ההעלאות של ה-preset (0.466 GiB) מגיעות לאורך 12 חודשים; תמונות שנוצרו ו-avatars קטנים לעומתן.
- LibreChat (API and web client): ההעלאות של ה-preset (1.863 GiB) מגיעות לאורך 12 חודשים; תמונות שנוצרו ו-avatars קטנים לעומתן.
- MongoDB: upstream לא מפרסם קצב גידול. שנת ההודעות של ה-preset (0.136 GiB, לפי 4 KB משוערים להודעה) מחולקת ל-12 חודשים; LibreChat שומר שיחות עד שהמשתמשים מוחקים אותן.
- MongoDB: upstream לא מפרסם קצב גידול. שנת ההודעות של ה-preset (0.68 GiB, לפי 4 KB משוערים להודעה) מחולקת ל-12 חודשים; LibreChat שומר שיחות עד שהמשתמשים מוחקים אותן.
- MongoDB: upstream לא מפרסם קצב גידול. שנת ההודעות של ה-preset (2.719 GiB, לפי 4 KB משוערים להודעה) מחולקת ל-12 חודשים; LibreChat שומר שיחות עד שהמשתמשים מוחקים אותן.
- Meilisearch: שנת האינדקס של ה-preset (1.255 GiB) מחולקת ל-12 חודשים. LMDB לא מחזיר מקום אחרי מחיקות, ולכן ה-volume רק גדל.
- Meilisearch: שנת האינדקס של ה-preset (6.276 GiB) מחולקת ל-12 חודשים. LMDB לא מחזיר מקום אחרי מחיקות, ולכן ה-volume רק גדל.
- Meilisearch: שנת האינדקס של ה-preset (25.103 GiB) מחולקת ל-12 חודשים. LMDB לא מחזיר מקום אחרי מחיקות, ולכן ה-volume רק גדל.
שדרוג וחזרה לאחור
איך עוברים לגרסה חדשה בבטחה, ואיך חוזרים אחורה אם משהו נכשל.
קודם גיבוי
לפני כל עדכון יש לגבות את MongoDB (mongodump או ה-volume של mongodb-data כשהוא עצור) ואת ה-volumes של הנתונים, ההעלאות והתמונות של LibreChat; ה-migration של האינדקסים ב-v0.8.8 עצמה דורשת גיבוי של MongoDB קודם. [2][22]
שלבי השדרוג
- יש לקרוא את ה-release notes ואת UPGRADING.md של כל גרסה בין הגרסה הנוכחית לגרסת היעד, ולחפש migrations וברירות מחדל שהשתנו. [22][23]
- יש להגדיר בקובץ ה-Compose את התגית המוצמדת החדשה registry.librechat.ai/librechat-ai/librechat:vX.Y.Z (ואת תגית rag_api המתאימה), ואז להריץ docker compose pull ו-docker compose up -d. ה-volumes נשמרים. [17]נגזרהתיעוד מעדכן את ה-checkout הרשמי עם git pull ו-docker compose pull; עם תגיות מוצמדות, אותו pull והפעלה מחדש נובעים מהעלאת התגית.
- מ-v0.8.7 ומטה ל-v0.8.8: יש לעצור את שירות librechat, להשאיר את MongoDB פועל ולהריץ docker compose run --rm --no-deps -w /app librechat npm run migrate:tenant-indexes (קודם dry run), ואז להפעיל אותו מחדש. [22]
- יש להשאיר ללא שינוי את JWT_SECRET, JWT_REFRESH_SECRET, CREDS_KEY ו-CREDS_IV; ערכים חדשים מנתקים משתמשים ומשאירים מפתחות משתמשים שמורים בלי אפשרות פענוח. [4]
- בהעלאת התגית של Meilisearch יש להפעיל אותו עם volume ריק של meili-data ולהריץ npm run reset-meili-sync ב-container של librechat, כדי ש-LibreChat יבנה את האינדקס מחדש מ-MongoDB. [8]
חזרה לאחור
יש להצמיד את תגיות ה-image הקודמות ולהריץ docker compose up -d. אם הגרסה החדשה שינתה אינדקסים או נתונים (כמו ה-migration של אינדקסי ה-tenant), יש לשחזר את גיבוי MongoDB שנלקח לפני העדכון. [22]נגזרLibreChat לא מתעד דרך לחזור לגרסה קודמת; זה נובע מהתגיות המוצמדות ומגיבוי MongoDB ש-UPGRADING.md דורש.
שינויים שוברים ידועים
- בגרסה 0.8.8: מסדי נתונים מ-v0.8.7 ומטה עלולים לרשום Index build failed עד שמריצים את ה-migration של אינדקסי ה-tenant (npm run migrate:tenant-indexes); ההפעלה לא מריצה אותה בעצמה. [22][23]
- בגרסה 0.8.8: ההפעלה נחסמת כש-JWT_SECRET או JWT_REFRESH_SECRET הם ברירת מחדל ישנה שפורסמה, או כש-CREDS_KEY / CREDS_IV אינם בדיוק 64 / 32 תווי hex; .env.example כבר לא מגיע עם credentials לדוגמה. [4][5][23]
- בגרסה 0.8.8: סנכרון החיפוש הראשון אחרי העדכון בונה מחדש את האינדקס של שיחות והודעות קיימות, עם עומס זמני גבוה יותר על MongoDB ו-Meilisearch בהתקנות גדולות. [8]
מגבלות
- אין מודלים מקומיים: כל שיחה נשלחת ל-API של ספק חיצוני (OpenAI, Anthropic, Google, או endpoints תואמי OpenAI שמוגדרים ב-librechat.yaml, שהקובץ הזה לא מחבר). עלויות ה-tokens מחויבות על ידי הספקים, והנתונים יוצאים מהשרת. [3][17]
- חיפוש בקבצים דורש מפתח ל-embeddings: ה-image ה-lite של rag_api קורא רק ל-embeddings מרוחקים (OpenAI כברירת מחדל), ולכן העלאות לחיפוש בקבצים נכשלות עד ש-RAG_OPENAI_API_KEY מכיל מפתח אמיתי. [9][10]
- MongoDB 8 דורש מעבד עם הוראות AVX; הוא קורס בהפעלה על מעבדים או מכונות וירטואליות בלי AVX. [17]
- האינדקס של Meilisearch אף פעם לא מתכווץ (LMDB שומר מקום שהתפנה) ואי אפשר לחזות את גודלו בדיוק; המספרים כאן מבוססים על המדידה היחידה שבתיעוד. בשרת משותף גם MongoDB קובע את גודל ה-cache שלו לפי כל ה-RAM של השרת, אלא אם מוגדר --wiredTigerCacheSizeGB. [27][31]
אבטחה
- החשבון הראשון שנרשם הופך למנהל, והרשמה עם אימייל פתוחה כברירת מחדל. צרו את החשבון שלכם מיד אחרי ההפעלה הראשונה, ואז הגדירו את ALLOW_REGISTRATION ל-false. [4][17]
- CREDS_KEY ו-CREDS_IV מצפינים את מפתחות ה-API שמשתמשים שומרים; שינוי שלהם לא מצפין מחדש רשומות קיימות. שמרו אותם ואת סודות ה-JWT במאגר הסודות שלכם, ואל תשתמשו בערכים לדוגמה. [4][5]
- יש להשאיר את Meilisearch (7700), MongoDB (27017), PostgreSQL (5432) ו-rag_api (8000) ברשת הפנימית; רק פורט 3080 נחשף מאחורי ה-reverse proxy עם HTTPS. [2][8][11]
גיבוי
- יש לגבות יחד את MongoDB (משתמשים, שיחות, agents, מפתחות שמורים), את ה-volumes של הנתונים, ההעלאות והתמונות ואת הסודות שב-.env: אי אפשר לקרוא מפתחות מוצפנים בלי CREDS_KEY ו-CREDS_IV התואמים. [2][4][22]
- את ה-volume של Meilisearch אפשר לבנות מחדש מ-MongoDB עם npm run reset-meili-sync, ואין צורך לגבות אותו; ה-volume של pgvector מחזיק את ה-embeddings של החיפוש בקבצים, שאובדים בלי pg_dump, ואז צריך להעלות את הקבצים מחדש. [8][9]
גרסה אחרונה
- הפרופיל נבדק מול
LibreChat 0.8.8
הפרופיל נבדק מול הגרסה האחרונה.
- נבדק ב-
- 14 באוק׳ 2026
- מצב
- נבדק ב-90 הימים האחרונים
- איפה הגרסאות מתפרסמות
- GitHub Releases
גרסה
- סטטוס הפרופיל
- פורסם
- נבדק מול גרסה
- LibreChat 0.8.8
- גרסת הפרופיל
- 1.0.0
- המספרים אומתו
- 14 באוק׳ 2026
- גרסת הקטלוג
- 2026.10.10
- מדיניות sizing
- 2026.10.0
- קובץ Compose
- לא אומת
הפרויקט וחלופות
- האתר הרשמי
- www.librechat.ai
- חלופות
- Open WebUILobeHub
מקורות
- Docker Docs: Control startup order in Compose (pg_isready healthcheck, service_healthy) (תיעוד רשמי · נקרא 11 באוק׳ 2026)
- LibreChat v0.8.8 docker-compose.yml: api on 3080 (librechat-data at /app/data), mongo:8.0.20 --noauth, meilisearch v1.35.1, pgvector 0.8.0-pg15-trixie, rag_api lite, admin-panel (Compose רשמי · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 .env.example: PORT 3080, ALLOW_REGISTRATION=true, ALLOW_UNVERIFIED_EMAIL_LOGIN=true, OPENAI/ANTHROPIC/GOOGLE keys = user_provided, SEARCH=false, blank CREDS_* and JWT_* (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LibreChat docs: .env reference (CREDS_KEY 64 hex, CREDS_IV 32 hex, fixed values for production; blank ones are generated into a temp file; DOMAIN_CLIENT/DOMAIN_SERVER) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 packages/api/src/credentials.ts: startup refuses a CREDS_KEY that is not 64 hex or a CREDS_IV that is not 32 hex; blank values are generated into the temp credentials file (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 api/server/index.js: GET /health returns 200 OK; PORT defaults to 3080; TRUST_PROXY defaults to 1 (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 packages/api/src/oauth/csrf.ts: Secure cookies in production unless DOMAIN_SERVER is a localhost-style host (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LibreChat docs: Meilisearch (SEARCH=true plus a master key of 16+ bytes shared with the meilisearch service; keep port 7700 internal; reset-meili-sync) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LibreChat docs: RAG API (lite image = remote embeddings only; OpenAI embeddings by default; RAG_OPENAI_API_KEY needed when OPENAI_API_KEY is user_provided) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- rag_api v0.9.0 app/config.py: RAG_PORT 8000, DB_HOST/DB_PORT/POSTGRES_* settings, RAG_OPENAI_API_KEY falls back to OPENAI_API_KEY, text-embedding-3-small, CHUNK_SIZE 1500, CHUNK_OVERLAP 100 (מאגר רשמי · נקרא 14 באוק׳ 2026)
- rag_api v0.9.0 app/middleware.py: requests need a JWT signed with JWT_SECRET; without JWT_SECRET the check is skipped; /health is open (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Official Image mongo: no authentication by default; MONGO_INITDB_ROOT_USERNAME/PASSWORD create a root user and start mongod --auth; mongosh is in the image; data in /data/db (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Meilisearch API reference: GET /health returns 200 with status available (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Meilisearch v1.35.1 Dockerfile: alpine:3.22 with curl and tini, no USER, WORKDIR /meili_data, EXPOSE 7700 (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Official Image postgres 15/trixie Dockerfile: postgres user uid/gid 999, PGDATA and VOLUME /var/lib/postgresql/data, pg_isready (מאגר רשמי · נקרא 14 באוק׳ 2026)
- GHCR librechat-ai/librechat:v0.8.8 (linux/amd64): 988,662,027 B compressed, 2,804,835,840 B decompressed and counted; config User node, no Healthcheck; layers contain usr/bin/wget (מדידה · נקרא 14 באוק׳ 2026)
- LibreChat docs: Docker install (port 3080, first account becomes admin, MongoDB image needs AVX, update steps) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LibreChat docs: deployment overview, minimum requirements 1 GiB RAM and 1 vCPU, 2 GB RAM suggested with everything enabled (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 Dockerfile: node:24.16.0-alpine, USER node, creates /app/client/public/images, /app/logs, /app/uploads, /app/data, EXPOSE 3080, CMD npm run backend (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LibreChat LICENSE: MIT (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 data-schemas winston config: log files on by default, daily rotation, maxSize 20m, maxFiles 14d (מאגר רשמי · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 UPGRADING.md: tenant index migration for v0.8.7 and earlier databases (npm run migrate:tenant-indexes), Redis delta coalescing (Release notes · נקרא 14 באוק׳ 2026)
- LibreChat v0.8.8 release notes (2026-09-30): retired JWT defaults refused (#15282), invalid AES credentials refused (#16402), credential defaults removed (#14680), tenant index migration (Release notes · נקרא 14 באוק׳ 2026)
- LibreChat changelog: v0.8.8 (2026-09-30) is the newest release (Release notes · נקרא 14 באוק׳ 2026)
- Docker: containerd image store is the default on fresh Engine 29+ installs and keeps images compressed and uncompressed (תיעוד רשמי · נקרא 10 באוק׳ 2026)
- Node.js Docker image 24/alpine3.23 Dockerfile: user node with uid/gid 1000 (מאגר רשמי · נקרא 14 באוק׳ 2026)
- MongoDB manual: WiredTiger cache defaults to the larger of 50% of (RAM - 1 GB) or 256 MB; set --wiredTigerCacheSizeGB when the container cannot use all host RAM (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Docker Official Image mongo 8.0 Dockerfile: mongodb user uid/gid 999, VOLUME /data/db /data/configdb (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Official Image mongo 8.0 docker-entrypoint.sh: as root, chowns /data/db and /data/configdb to mongodb and re-executes with gosu (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Hub tag mongo:8.0.20 (linux/amd64): 312,915,385 B compressed; layers decompressed and counted: 957,032,960 B (מדידה · נקרא 14 באוק׳ 2026)
- Meilisearch: Storage (LMDB never returns freed space; 9.1 MB JSON gave 224 MB on disk and ~305 MB RAM; RAM-to-disk 1/3, often 1/10, works well) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Docker Hub tag getmeili/meilisearch:v1.35.1 (linux/amd64): 105,981,256 B compressed; layers decompressed and counted: 157,731,328 B (מדידה · נקרא 14 באוק׳ 2026)
- Docker Hub tag pgvector/pgvector:0.8.0-pg15-trixie (linux/amd64): 159,295,182 B compressed (152 MiB); layers decompressed and counted: 455,663,616 B (מדידה · נקרא 14 באוק׳ 2026)
- pgvector v0.8.0 README: each vector takes 4 × dimensions + 8 bytes (מאגר רשמי · נקרא 14 באוק׳ 2026)
- OpenAI embeddings guide: text-embedding-3-small returns 1536-dimensional vectors (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- rag_api v0.9.0 README: EMBEDDING_BATCH_SIZE 500, EMBEDDING_MAX_QUEUE_SIZE 3, PARALLEL_EXECUTION 2 per upload; memory ≈ batch × (queue + parallel); smaller batches below 2 GB RAM (מאגר רשמי · נקרא 14 באוק׳ 2026)
- rag_api v0.9.0 Dockerfile.lite: python:3.12-slim, no USER, WORKDIR /app, CMD python main.py (מאגר רשמי · נקרא 14 באוק׳ 2026)
- GHCR manifest of librechat-ai/librechat-rag-api-dev-lite:v0.9.0 (linux/amd64): 539,995,713 B compressed; layers decompressed and counted: 1,659,485,184 B (מדידה · נקרא 14 באוק׳ 2026)
- PostgreSQL 18 documentation: 19.4 Resource Consumption (תיעוד רשמי · נקרא 10 באוק׳ 2026)
- PostgreSQL 18 documentation: 19.3 Connections and Authentication (תיעוד רשמי · נקרא 10 באוק׳ 2026)
- PostgreSQL 18 documentation: 19.10 Vacuuming (autovacuum settings) (תיעוד רשמי · נקרא 10 באוק׳ 2026)
- PostgreSQL 18 documentation: 19.5 Write Ahead Log (max_wal_size) (תיעוד רשמי · נקרא 10 באוק׳ 2026)
- PostgreSQL 18 documentation: 51.2 How Connections Are Established (תיעוד רשמי · נקרא 10 באוק׳ 2026)
- Docker Official Image postgres: documentation (docker-library/docs) (תיעוד רשמי · נקרא 10 באוק׳ 2026)
- Docker Hub: library/postgres tag 18.6 (compressed image sizes) (מאגר רשמי · נקרא 10 באוק׳ 2026)