פורסם

SearXNG

מנוע metasearch באירוח עצמי: הוא שולח כל שאילתה לשירותי חיפוש רבים במקביל וממזג את התוצאות, בלי cookies ובלי פרופיילינג מול השירותים האלה. מתאים למשק בית או לצוות שרוצים דף חיפוש משלהם, או backend חיפוש פרטי לכלי AI.

משאבים לפי רמת עומס

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

רמהמה זה אומרדרישות האפליקציהמומלץ
קלהערכהעד 5 משתמשים, כ-300 חיפושים ביום (אחד בכל פעם), מנועים והגדרות ברירת מחדל, favicons כבויים; למשל דף חיפוש למשק בית או חיפוש web לאפליקציית צ'אט AI אחת.0.5 vCPU · 0.5 GiB RAM · 0.6 GiB דיסק0.72 vCPU · 2.1 GiB RAM · 10.005 GiB דיסק
בינוניהערכהעד 25 משתמשים או כמה כלי AI, כ-3,000 חיפושים ביום, עד 4 חיפושים במקביל (4 ה-blocking threads של Granian), מנועים ברירת מחדל, favicons כבויים.1 vCPU · 1 GiB RAM · 0.85 GiB דיסק1.32 vCPU · 2.7 GiB RAM · 10.293 GiB דיסק
כבדהערכהעד 100 משתמשים או סוכני AI עמוסים, כ-15,000 חיפושים ביום, 4 חיפושים במקביל רוב היום, ‏worker אחד של Granian כפי ש-upstream ממליצים, favicons כבויים.1.5 vCPU · 1.5 GiB RAM · 1.35 GiB דיסק1.92 vCPU · 3.3 GiB RAM · 10.868 GiB דיסק

מומלץ = דרישות האפליקציה + baseline של המערכת + מרווח ביטחון (headroom), לפי מדיניות ה-sizing ‏2026.10.0. האפשרויות נשארות בברירת המחדל. ״הערכה״ פירושה שהמקורות לא נותנים מספר למקרה הזה, ולכן הוא מחושב מהם בשיטה שמפורטת תחת רכיבים. איך המספרים נבנים

לחישוב ב-Stack Sizer

קבצים מוכנים להפעלה

רמת תמיכה נתמך

תבנית Compose מהמקורות הרשמיים; עוד לא נבדקה בהרצה.

צור docker-compose

רכיבים

מה כל רכיב צריך בכל רמת עומס, לפני baseline ו-headroom.

vCPU / GiB RAM / GiB דיסק
רכיבקלבינוניכבדמקורות
SearXNG (app)0.5 / 0.5 / 0.61 / 1 / 0.851.5 / 1.5 / 1.35[5][11][13][14][18][19][23][25][26][27]
איך ההערכות מחושבות
  • SearXNG · קל: אין מספר רשמי. RAM: אחד המתחזקים מריץ instances על VMs של 512 MB ‏(0.477 GiB), ו-worker אחד צרך 150 MB בדיווח משתמש; עוגל ל-0.5 GiB. ‏vCPU: ל-VM הזה יש 1 vCPU לכל המערכת; חיפוש אחד בכל פעם בעיקר ממתין למנועים, ולכן חצי ליבה. Disk: ‏image דחוס 98,301,157 B ‏(0.092 GiB) ועוד 271,150,592 B פרוס (0.253 GiB), ה-containerd store שומר את שניהם = ‏0.344 GiB. הנתונים הם caches בלבד: ה-cache של favicons מוגבל ל-50 MB וכבוי כברירת מחדל, ושאר ה-caches פגים אחרי 7 ימים. ‏0.344 ועוד 0.25 GiB ל-caches ולהגדרות ← 0.6.
  • SearXNG · בינוני: RAM: ‏0.5 GiB של light ×2 ל-4 חיפושים פעילים (GRANIAN_BLOCKING_THREADS=4), שכל אחד מחזיק תשובות של מנועים, ועוד ה-image proxy, שלפי התיעוד צורך זיכרון ← 1 GiB. ‏vCPU: ‏worker אחד של Granian (ברירת מחדל 1) הוא תהליך Python אחד, ולכן לכל היותר כליבה אחת. Disk: ‏image דחוס 98,301,157 B ‏(0.092 GiB) ועוד 271,150,592 B פרוס (0.253 GiB), ה-containerd store שומר את שניהם = ‏0.344 GiB. הנתונים הם caches בלבד: ה-cache של favicons מוגבל ל-50 MB וכבוי כברירת מחדל, ושאר ה-caches פגים אחרי 7 ימים. ‏0.344 ועוד 0.5 GiB ← 0.85.
  • SearXNG · כבד: vCPU: ליבה אחת ל-worker של Python שעסוק כל הזמן, ועוד 0.5 ל-runtime הקלט/פלט של Granian ול-TLS מול המנועים ← 1.5. RAM: ‏1 GiB של medium ועוד 0.5 GiB ל-caches בזיכרון בעומס קבוע ← 1.5. התיעוד ממליץ לא להוסיף workers, ולכן זו התקרה של container אחד. Disk: ‏image דחוס 98,301,157 B ‏(0.092 GiB) ועוד 271,150,592 B פרוס (0.253 GiB), ה-containerd store שומר את שניהם = ‏0.344 GiB. הנתונים הם caches בלבד: ה-cache של favicons מוגבל ל-50 MB וכבוי כברירת מחדל, ושאר ה-caches פגים אחרי 7 ימים. ‏0.344 ועוד 1 GiB ← 1.35.

פורטים

פורטים ציבוריים נועדו לגישה מחוץ ל-stack, בדרך כלל דרך reverse proxy; פורטים פנימיים נשארים ברשת של ה-stack עצמו.

רכיבפורטחשיפהשימושמקורות
SearXNG8080/tcpציבורי, דרך proxyWeb UI and search API (Granian HTTP); serve through an HTTPS reverse proxy[1][5]

כל הפורטים בקטלוג, עם התנגשויות בין אפליקציות

משתמש והרשאות (UID/GID)

המשתמש שהתהליך של כל קונטיינר רץ תחתיו, והנתיבים שהוא כותב אליהם. ‏bind mount לאחד הנתיבים האלה חייב להיות ניתן לכתיבה על ידי ה-UID:GID הזה.

רכיבUID:GIDמשתמשמתחיל כ-rootכותב אלמקורות
SearXNGנגזר0:0rootלא/etc/searxng/var/cache/searxng[3][5][6]
  • SearXNG: ב-image אין USER, ולכן entrypoint.sh רץ כ-root: הוא מעביר את ‎/etc/searxng ו-‎/var/cache/searxng לבעלות searxng ‏(977:977) אלא אם FORCE_OWNERSHIP=false, מריץ update-ca-certificates, ואז מריץ את granian ב-exec בלי להוריד הרשאות, כך שהשרת נשאר uid 0.

צמיחת אחסון

בכמה הנתונים של כל רכיב גדלים בחודש בכל רמת עומס, מעבר לדיסק שבפרופיל. ערך שמסומן ״הנחה״ הוא הנחה מוצהרת של ANAROQ ולא מספר מהמקורות; ההערות מפרטות על מה היא נשענת.

GiB לחודש
רכיבקלבינוניכבדמקורות
SearXNGנגזר000[9][18][19]
על מה מספרי הצמיחה נשענים
  • SearXNG: ‏SearXNG לא שומר היסטוריית חיפושים. ה-caches שלו חסומים: ערכים פגים אחרי 7 ימים עם תחזוקה כל שעה, וה-cache של favicons (כבוי כברירת מחדל) נחתך למגבלת ה-50 MB שלו. ה-disk של ה-preset כבר כולל אותם; הפעלת favicons עם מגבלה גדולה יותר מוסיפה עד המגבלה הזו.

שדרוג וחזרה לאחור

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

קודם גיבוי

להעתיק את ה-volume של ההגדרות (‎/etc/searxng: ‏settings.yml וכל limiter.toml או favicons.toml). ה-volume של הנתונים מכיל caches בלבד. [9][18]

שלבי השדרוג

  1. ‏SearXNG מתפרסם ב-rolling release עם tags של תאריך ו-sha ובלי release notes: יש לעבור על היסטוריית ה-commits בין ה-tag הנוכחי ליעד, ובמיוחד commits שמסומנים ‎[mod] container. [24][30][31]נגזר‏upstream לא מפרסמים changelog; השינויים השוברים ב-container שלמטה נמצאו ב-commits מהסוג הזה.
  2. להגדיר בקובץ ה-Compose את ה-tag המוצמד החדש, ואז להריץ docker compose pull ו-docker compose up -d. [9]
  3. ‏settings.yml ב-‎/etc/searxng נוצר רק כשהוא חסר, ולכן עדכון לעולם לא כותב אותו מחדש; אחרי העדכון כדאי להשוות אותו לתיעוד ההגדרות הנוכחי. [3][29]

חזרה לאחור

להצמיד את ה-tag הקודם ולהריץ docker compose up -d; אם settings.yml שונה עבור הגרסה החדשה, לשחזר את גיבוי ההגדרות. [9][24]נגזר‏upstream לא מתעדים downgrade. ‏SearXNG לא שומר נתוני משתמשים, רק הגדרות ו-caches, ולכן ההסקה היא שהרצת ה-tag הקודם בטוחה.

שינויים שוברים ידועים

  • בגרסה 2026.6.16: תבנית ההגדרות הפכה למינימלית (use_default_settings, ‏secret_key, ‏image_proxy), ו-settings.yml קיים כבר לא נבדק מולה לשינויים. [4][29]
  • בגרסה 2026.3.28: ה-Compose עבר למאגר searxng (שירותים core ו-valkey, ‏mount של ‎./core-config); ‏searxng-docker הוחלף. מעבר דורש להעביר את קובצי ההגדרות הישנים ולהפנות את כתובת ה-Valkey ל-valkey. [9][10][30]
  • בגרסה 2025.7.4: ‏Granian החליף את uWSGI ב-image: הגדרות uWSGI כבר לא חלות (את Granian מגדירים במשתני GRANIAN_*), וה-entrypoint משנה בעלות על ה-volumes בכל הפעלה אלא אם FORCE_OWNERSHIP=false. [13][31]

מגבלות

  • ה-API של JSON כבוי כברירת מחדל (search.formats הוא html בלבד): כלי AI כמו Open WebUI מקבלים 403 Forbidden עד שמוסיפים json ל-search.formats ב-‎/etc/searxng/settings.yml ומפעילים מחדש את ה-container. [16][17][28]
  • ל-SearXNG אין אינדקס משלו: התוצאות מגיעות ממנועים חיצוניים, שרואים את כתובת ה-IP של השרת ועלולים להחזיר CAPTCHA או לחסום אותו, ולכן איכות התוצאות משתנה לאורך זמן. [12][20][21]
  • לא מוגדר כ-instance ציבורי: ה-limiter (הגנה מבוטים) כבוי ואין Valkey. הפעלה שלו דורשת Valkey ו-limiter.toml שבו trusted_proxies כולל את ה-proxy, כי כברירת מחדל רק 127.0.0.0/8 ו-‎::1 מהימנים. [11][12]
  • ‏worker אחד של Granian עם 4 blocking threads; ‏upstream ממליצים לא להוסיף workers (יותר משאבים, בעיות בזיהוי בוטים), ולכן container אחד לא גדל מעבר לרמת heavy. [5][13][14]

אבטחה

  • אין חשבונות משתמשים: ההעדפות נשמרות ב-cookies של הדפדפן, וכל מי שמגיע לכתובת יכול לחפש דרך כתובת ה-IP של השרת. ‏instance פרטי כדאי להחזיק מאחורי VPN או אימות ב-proxy. [12][20]
  • ‏SEARXNG_SECRET גובר על secret_key ב-settings.yml; ‏SearXNG יוצא בהפעלה אם המפתח עדיין ה-placeholder ‏ultrasecretkey. יש לשמור אותו סודי וקבוע. [7][8][11]
  • ה-container רץ כ-root (אין USER ב-image) ומשנה בעלות על ה-volumes שלו בכל הפעלה; יש להגדיר FORCE_OWNERSHIP=false אם ה-volumes צריכים לשמור על בעלים אחרים. [3][6][9]

גיבוי

  • לגבות את ה-volume של ההגדרות (‎/etc/searxng): ‏settings.yml וכל limiter.toml או favicons.toml. ‏‎/var/cache/searxng מכיל caches ש-SearXNG בונה מחדש, ואין היסטוריית חיפושים לשמור. [9][18][19]

גרסה אחרונה

הגרסה האחרונה של הפרויקט
SearXNG 2026.10.13-22c64b8d3 [24]
הפרופיל נבדק מול

SearXNG 2026.10.13-22c64b8d3

הפרופיל נבדק מול הגרסה האחרונה.

נבדק ב-
14 באוק׳ 2026
מצב
נבדק ב-90 הימים האחרונים
איפה הגרסאות מתפרסמות
תגיות ב-Docker Hub

הגרסאות האחרונות של כל האפליקציות

גרסה

סטטוס הפרופיל
פורסם
נבדק מול גרסה
SearXNG 2026.10.13-22c64b8d3
גרסת הפרופיל
1.0.0
המספרים אומתו
14 באוק׳ 2026
גרסת הקטלוג
2026.10.10
מדיניות sizing
2026.10.0
קובץ Compose
לא אומת
האתר הרשמי
docs.searxng.org
חלופות
YaCy

מקורות

  1. container/docker-compose.yml at 22c64b8d3: core (searxng, port 8080, /etc/searxng bind mount, /var/cache/searxng volume) + valkey:9-alpine (Compose רשמי · נקרא 14 באוק׳ 2026)
  2. container/.env.example at 22c64b8d3 (SEARXNG_VERSION, SEARXNG_HOST, SEARXNG_PORT 8080) (Compose רשמי · נקרא 14 באוק׳ 2026)
  3. container/entrypoint.sh at 22c64b8d3: chown volumes to searxng (FORCE_OWNERSHIP), settings.yml from template with a random secret, exec granian (מאגר רשמי · נקרא 14 באוק׳ 2026)
  4. container/settings.template.yml at 22c64b8d3 (use_default_settings, secret_key placeholder, image_proxy: true; no valkey) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  5. container/dist.dockerfile at 22c64b8d3: EXPOSE 8080, GRANIAN_PORT 8080, GRANIAN_BLOCKING_THREADS 4, VOLUME /etc/searxng and /var/cache/searxng, no USER, no HEALTHCHECK (מאגר רשמי · נקרא 14 באוק׳ 2026)
  6. Registry config of searxng/searxng:2026.10.13-22c64b8d3 (amd64): no User, no Healthcheck; layers list /usr/bin/wget (GNU Wget) and passwd searxng 977:977 (מדידה · נקרא 14 באוק׳ 2026)
  7. searx/webapp.py at 22c64b8d3: GET /healthz returns OK; exits when secret_key is still ultrasecretkey (מאגר רשמי · נקרא 14 באוק׳ 2026)
  8. searx/settings_defaults.py at 22c64b8d3: SEARXNG_SECRET, SEARXNG_BASE_URL, SEARXNG_LIMITER (false), SEARXNG_VALKEY_URL (false) override settings.yml (מאגר רשמי · נקרא 14 באוק׳ 2026)
  9. SearXNG docs: Installation container (compose instancing, volumes /etc/searxng and /var/cache/searxng, FORCE_OWNERSHIP, update with compose pull) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  10. searxng-docker README: repository superseded by the compose template in searxng (מאגר רשמי · נקרא 14 באוק׳ 2026)
  11. SearXNG docs: server: settings (secret_key / $SEARXNG_SECRET, base_url, limiter needs Valkey, public_instance, image_proxy uses memory) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  12. SearXNG docs: Limiter (requires Valkey; limiter.toml trusted_proxies defaults to 127.0.0.0/8 and ::1) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  13. SearXNG docs: Granian (not advised to change the number of workers: more resources, Bot Detection issues) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  14. Granian 2.8.4 README (pinned by SearXNG): --workers default 1, blocking threads per worker (מאגר רשמי · נקרא 14 באוק׳ 2026)
  15. requirements-server.txt at 22c64b8d3 (granian==2.8.4) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  16. searx/settings.yml at 22c64b8d3: search.formats [html] only, outgoing request_timeout 3.0 s, limiter false, valkey url false (מאגר רשמי · נקרא 14 באוק׳ 2026)
  17. SearXNG docs: Search API (format json/csv/rss must be enabled in settings.yml, else 403 Forbidden) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  18. SearXNG docs: Favicons (off until a resolver is set; cache default /tmp, 50 MB limit; example 2 GB in /var/cache/searxng) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  19. searx/cache.py at 22c64b8d3 (ExpireCache: values kept 7 days, hourly maintenance, /tmp) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  20. SearXNG docs: Why use a private instance? (instance IP faces the engines; abuse leads to CAPTCHAs or IP bans; preferences in cookies) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  21. SearXNG docs: Answer CAPTCHA from server's IP (engines that block the instance IP) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  22. SearXNG LICENSE at 22c64b8d3: GNU AGPL v3 (image label AGPL-3.0-or-later) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  23. Docker Hub tag searxng/searxng:2026.10.13-22c64b8d3 (linux/amd64): 98,301,157 B compressed; 5 layers decompressed and counted: 271,150,592 B (מדידה · נקרא 14 באוק׳ 2026)
  24. Docker Hub tags of searxng/searxng (rolling date-sha tags; 2026.10.13-22c64b8d3 newest on 2026-10-14) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  25. Docker: containerd image store is the default on fresh Engine 29+ installs and keeps images compressed and uncompressed (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  26. SearXNG discussion #3884, Recommended specs: a maintainer runs instances on 1 vCPU / 512 MB VMs; container about 300 MB on disk (קהילה · נקרא 14 באוק׳ 2026)
  27. SearXNG discussion #1892, Reduce RAM: 600 MB with one uWSGI worker per core on 4 cores, 150 MB with one worker (קהילה · נקרא 14 באוק׳ 2026)
  28. Open WebUI docs: SearXNG web search provider (add json to search.formats or queries fail with 403; non-restrictive limiter.toml) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  29. Commit 502c820a2 (2026-06-16) container: setup minimal (minimal settings template, templates no longer checked) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  30. Commit 6b9856d64 (2026-03-28) container: rework compose (replaces searxng-docker; migration guide) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  31. Commit 01be2612a (2025-07-04) container: replace uWSGI with Granian (FORCE_OWNERSHIP, uWSGI settings dropped) (מאגר רשמי · נקרא 14 באוק׳ 2026)

כל אפליקציות ה-self-hosted