פורסם

AdGuard Home

שרת DNS לכל הרשת שחוסם פרסומות, ‏trackers ודומיינים זדוניים לכל מכשיר שמשתמש בו, עם הגדרות לכל לקוח, יומן שאילתות, סטטיסטיקות, ‏DNS מוצפן (DoH, ‏DoT, ‏DoQ, ‏DNSCrypt) ושרת DHCP אופציונלי. קובץ Go יחיד עם ממשק ניהול משלו.

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

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

רמהמה זה אומרדרישות האפליקציהמומלץ
קלהערכהרשת ביתית: עד 15 מכשירים, כ-20,000 שאילתות DNS ביום, מסנן ברירת המחדל AdGuard DNS filter ‏(כ-185,000 חוקים), יומן שאילתות וסטטיסטיקות בברירת המחדל.0.25 vCPU · 0.25 GiB RAM · 1.5 GiB דיסק0.42 vCPU · 1.8 GiB RAM · 11.04 GiB דיסק
בינוניהערכהמשרד קטן או כמה בתים: עד 50 מכשירים, כ-100,000 שאילתות DNS ביום, כ-3 רשימות חסימה (כ-500,000 חוקים), ‏DoH או DoT לחלק מהלקוחות.0.5 vCPU · 0.5 GiB RAM · 7 GiB דיסק0.72 vCPU · 2.1 GiB RAM · 17.365 GiB דיסק
כבדהערכהעד 250 מכשירים או resolver מוצפן לצוות שלם: כ-500,000 שאילתות DNS ביום, כ-1.1 מיליון חוקים מ-6–7 רשימות, ‏DoH/DoT/DoQ פעילים, יומן שאילתות של 90 יום.1 vCPU · 1 GiB RAM · 34 GiB דיסק1.32 vCPU · 2.7 GiB RAM · 48.415 GiB דיסק

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

לחישוב ב-Stack Sizer

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

רמת תמיכה התקנה רשמית

אין תבנית Compose של ANAROQ: מתקינים בדרך הרשמית.

למה: ‏AdGuard Home הוא שרת DNS: המכשירים צריכים להגיע אליו בפורט 53 ‏TCP/UDP של השרת (ועוד 67/68 UDP ל-DHCP, ‏853 ל-DoT/DoQ, ‏80/443 לממשק הניהול ול-DoH, ו-3000 להתקנה). תבניות ANAROQ מפרסמות רק פורטים מ-1024 ומעלה, על loopback או דרך ה-proxy, ולכן לא יכולות לשרת DNS. בנוסף, ברוב שרתי Linux פורט 53 תפוס על ידי ה-stub listener של systemd-resolved ‏(127.0.0.53:53), ויש לכבות אותו קודם, כפי שמדריך ה-Docker הרשמי מראה.

להתקנה הרשמית של AdGuard Home

רכיבים

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

vCPU / GiB RAM / GiB דיסק
רכיבקלבינוניכבדמקורות
AdGuard Home (DNS server, web UI, optional DHCP) (app)0.25 / 0.25 / 1.50.5 / 0.5 / 71 / 1 / 34[6][9][10][17][18]
איך ההערכות מחושבות
  • AdGuard Home (DNS server, web UI, optional DHCP) · קל: אין מינימום רשמי. ‏RAM: נמדדו 64 MB בזיכרון (שיא של 92 MB בטעינה) עם רשימת ברירת המחדל; ‏0.25 GiB משאיר מקום ל-cache של DNS ‏(4 MiB) ולעדכוני רשימות. ‏vCPU: ‏20,000 שאילתות ביום הן פחות משאילתה אחת בשנייה בממוצע; ‏0.25 היא הערכה. ‏Disk: ‏image של 29,487,891 B × 3 ‏(0.082 GiB) ועוד רשימה של 4.4 MB ויומן שאילתות של 20,000 × כ-400 B × 180 יום (הקובץ הנוכחי והקובץ שהתחלף, בברירת המחדל של 90 יום) = 1.341 GiB, מעוגל ל-1.5 GiB.
  • AdGuard Home (DNS server, web UI, optional DHCP) · בינוני: ‏RAM: קו ישר בין שתי המדידות (185,000 חוקים: ‏64 MB, שיא 92 MB; ‏1.11 מיליון חוקים: ‏188 MB, שיא 332 MB) נותן כ-106 MB ושיא של כ-173 MB ב-500,000 חוקים; ‏0.5 GiB עם מקום ללקוחות TLS ולחיפוש ביומן. ‏vCPU: כ-1.2 שאילתות בשנייה בממוצע, הערכה. ‏Disk: ‏0.082 GiB ל-image ועוד כ-11 MB רשימות ועוד 100,000 × כ-400 B × 180 יום = 6.706 GiB, מעוגל ל-7 GiB.
  • AdGuard Home (DNS server, web UI, optional DHCP) · כבד: ‏RAM: נמדד עם 1,113,090 חוקים: ‏188 MB בזיכרון, שיא של 332 MB בטעינה מחדש של הרשימות, ‏261 MB אחרי פרץ שאילתות; ‏1 GiB הוא בערך פי 3 מהשיא. ‏vCPU: כ-6 שאילתות בשנייה בממוצע, עם TLS handshakes ללקוחות מוצפנים; ‏1 vCPU היא הערכה. ‏Disk: ‏0.082 GiB ל-image ועוד 25.3 MB רשימות ועוד 500,000 × כ-400 B × 180 יום = 33.528 GiB, מעוגל ל-34 GiB. ‏querylog.interval קצר יותר מקטין את זה באותו יחס.

פורטים

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

רכיבפורטחשיפהשימושמקורות
AdGuard Home (DNS server, web UI, optional DHCP)53/udpציבורי, דרך proxyPlain DNS on the host's interfaces; allow only your own networks[1][2][5]
AdGuard Home (DNS server, web UI, optional DHCP)53/tcpציבורי, דרך proxyPlain DNS over TCP (large answers, TCP fallback); same audience as 53/udp[1][5]
AdGuard Home (DNS server, web UI, optional DHCP)67/udpציבורי, דרך proxyDHCP server (off by default; LAN only, needs host networking in Docker)[1][5]
AdGuard Home (DNS server, web UI, optional DHCP)68/udpציבורי, דרך proxyDHCP client side of the optional DHCP server (LAN only)[1][5]
AdGuard Home (DNS server, web UI, optional DHCP)80/tcpציבורי, דרך proxyWeb UI and API after setup (port chosen in the wizard; keep it off the public internet)[1][2][5]
AdGuard Home (DNS server, web UI, optional DHCP)443/tcpציבורי, דרך proxyHTTPS web UI and DNS-over-HTTPS once encryption is on (collides with a host proxy)[1][5][14]
AdGuard Home (DNS server, web UI, optional DHCP)443/udpציבורי, דרך proxyDNS-over-HTTPS over HTTP/3 once encryption is on[1][5]
AdGuard Home (DNS server, web UI, optional DHCP)853/tcpציבורי, דרך proxyDNS-over-TLS once encryption is on[1][5][14]
AdGuard Home (DNS server, web UI, optional DHCP)853/udpציבורי, דרך proxyDNS-over-QUIC once encryption is on[1][5][14]
AdGuard Home (DNS server, web UI, optional DHCP)3000/tcpפנימי בלבדFirst-start setup wizard on 0.0.0.0:3000, open to anyone until finished; reach via SSH tunnel[2][5][9]
AdGuard Home (DNS server, web UI, optional DHCP)3000/udpפנימי בלבדHTTP/3 on the alternative web port (exposed by the image, not needed by default)[5]
AdGuard Home (DNS server, web UI, optional DHCP)5443/tcpציבורי, דרך proxyDNSCrypt (optional)[1][5]
AdGuard Home (DNS server, web UI, optional DHCP)5443/udpציבורי, דרך proxyDNSCrypt (optional)[1][5]
AdGuard Home (DNS server, web UI, optional DHCP)6060/tcpפנימי בלבדpprof debug API (off by default); never publish[1][5][9]

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

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

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

רכיבUID:GIDמשתמשמתחיל כ-rootכותב אלמקורות
AdGuard Home (DNS server, web UI, optional DHCP)נגזר0:0rootלא/opt/adguardhome/conf/opt/adguardhome/work[1][5][6]
  • AdGuard Home (DNS server, web UI, optional DHCP): ה-image לא מגדיר USER, ולכן AdGuard Home רץ כ-root ולא מוריד הרשאות. התיקיות שלו בבעלות nobody ולקובץ ההרצה יש file capability של cap_net_bind_service, כך שהוא יכול להאזין לפורט 53 בלי root אם מריצים אותו כמשתמש אחר. ב-conf נמצא AdGuardHome.yaml; ב-work/data נמצאים הרשימות, הסטטיסטיקות, ה-sessions ויומן השאילתות.

צמיחת אחסון

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

GiB לחודש
רכיבקלבינוניכבדמקורות
AdGuard Home (DNS server, web UI, optional DHCP)נגזר000[9][10][18]
על מה מספרי הצמיחה נשענים
  • AdGuard Home (DNS server, web UI, optional DHCP): יומן השאילתות מוגבל: אחרי 90 יום (ברירת מחדל) querylog.json משנה שם ל-querylog.json.1 ומחליף את הישן, כך שבדיסק נשארים לכל היותר כ-180 יום, שכבר נכללים בדיסק של ה-preset. עד שמגיעים לתקרה הוא גדל בכ-0.224 GiB לחודש (שאילתות ביום × כ-400 B × 30). הסטטיסטיקות נשמרות יום אחד כברירת מחדל.
  • AdGuard Home (DNS server, web UI, optional DHCP): יומן השאילתות מוגבל: אחרי 90 יום (ברירת מחדל) querylog.json משנה שם ל-querylog.json.1 ומחליף את הישן, כך שבדיסק נשארים לכל היותר כ-180 יום, שכבר נכללים בדיסק של ה-preset. עד שמגיעים לתקרה הוא גדל בכ-1.118 GiB לחודש (שאילתות ביום × כ-400 B × 30). הסטטיסטיקות נשמרות יום אחד כברירת מחדל.
  • AdGuard Home (DNS server, web UI, optional DHCP): יומן השאילתות מוגבל: אחרי 90 יום (ברירת מחדל) querylog.json משנה שם ל-querylog.json.1 ומחליף את הישן, כך שבדיסק נשארים לכל היותר כ-180 יום, שכבר נכללים בדיסק של ה-preset. עד שמגיעים לתקרה הוא גדל בכ-5.588 GiB לחודש (שאילתות ביום × כ-400 B × 30). הסטטיסטיקות נשמרות יום אחד כברירת מחדל.

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

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

קודם גיבוי

עצרו את ה-container והעתיקו את AdGuardHome.yaml ‏(מה-volume של conf) ואת תיקיית data ‏(מה-volume של work), כמו במדריך העדכון הידני; התוכנה הרצה דורסת את ה-YAML, ולכן לא מעתיקים או עורכים אותו בזמן ריצה. [1][3]

שלבי השדרוג

  1. קראו את ה-CHANGELOG של כל גרסה בין הגרסה שלכם לחדשה: כל migration של הקונפיגורציה (schema_version) מופיע שם עם הדרך הידנית לבטל אותו. [8]
  2. ב-Docker העדכון המובנה כבוי: שנו את ה-tag המוצמד של adguard/adguardhome, הריצו docker pull, ואז עצרו ומחקו את ה-container וצרו אותו מחדש עם אותם volumes ופורטים (או docker compose pull ו-up -d). [1][2]
  3. בדקו את הלוג ואת הגרסה ב-dashboard, ושלחו שאילתת בדיקה (למשל לדומיין חסום) לכתובת ה-DNS של השרת לפני שמחזירים אליו לקוחות. [16]נגזרהמדריכים לא נותנים בדיקה אחרי שדרוג; הצעד נשען על בדיקת דומיין חסום מול השרת שהם עצמם מציגים.

חזרה לאחור

החזירו את AdGuardHome.yaml מלפני השדרוג והריצו את ה-tag הקודם. הגרסה החדשה ממירה את הקובץ ל-schema_version חדש יותר, וה-CHANGELOG נותן רק צעדים ידניים לביטול כל migration. [3][8]

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

  • בגרסה 0.107.78: רשימות חוקים מוגבלות ל-filtering.max_http_size ‏(256 MB כברירת מחדל), ו-upgrade של HTTP/1.1 ל-H2C נדחה. [8][11]
  • בגרסה 0.107.74: ‏Schema 33 → 34: ‏tls.allow_unencrypted_doh הוחלף ב-http.doh.insecure_enabled. ‏DoH מאחורי reverse proxy צריך את המפתח החדש; ה-FAQ עדיין מציג את הישן. [3][8][13]
  • בגרסה 0.107.34: ה-HEALTHCHECK וה-entrypoint של tini הוסרו מה-image. חלק מכלי Docker שומרים את ה-ENTRYPOINT הישן: גבו את הקונפיגורציה, מחקו את ה-container, מחקו את ה-image הישן ומשכו מחדש. [8]

מגבלות

  • פורט 53 חייב להיות פנוי בשרת. ב-Ubuntu וברוב ההפצות עם systemd, ‏systemd-resolved מאזין ב-127.0.0.53:53: כתבו DNS=127.0.0.1 ו-DNSStubListener=no בקובץ ‎/etc/systemd/resolved.conf.d/adguardhome.conf, קשרו את ‎/etc/resolv.conf ל-‎/run/systemd/resolve/resolv.conf והפעילו מחדש את systemd-resolved. ב-Docker זה לא נעשה בשבילכם. [1][3]
  • ברשת ה-bridge של Docker כל שאילתה נראית כאילו הגיעה מה-gateway של ה-bridge (למשל 172.17.0.1), ולכן הגדרות לפי לקוח, רשימת הלקוחות המותרים ויומן השאילתות לא מבחינים בין מכשירים. המדריך משתמש ב-‎--network host לכתובות האמיתיות, והוא חובה לשרת ה-DHCP. [1]
  • הזיכרון גדל עם מספר חוקי הסינון הכולל (נמדדו 64 MB עם 185,000 החוקים של ברירת המחדל, ‏188 MB עם 1.1 מיליון, ושיאים גבוהים יותר בזמן טעינת רשימות). יומן השאילתות שומר 90 יום בדיסק כברירת מחדל; בשרת עמוס כדאי להקטין את querylog.interval. [9][13][17]
  • הסטטיסטיקות צריכות מערכת קבצים שתומכת ב-mmap(2); חלק ממערכות הקבצים ברשת או המיוחדות לא תומכות, ולכן השאירו את ה-volume של work על דיסק מקומי. [2]

אבטחה

  • אל תריצו resolver פתוח על שרת ציבורי: זה מזמין DDoS וניצול להגברה. הגבילו את 53 ב-firewall לרשתות שלכם, או הפעילו Allowlist mode ‏(לקוחות מותרים לפי ClientID או IP), או כבו DNS רגיל והגישו רק DoH/DoT. ‏DNS רגיל מוגבל כברירת מחדל ל-20 שאילתות בשנייה לכל subnet. [4][9]
  • בהפעלה הראשונה אשף ההתקנה מאזין ב-0.0.0.0:3000, ומי שמסיים אותו יוצר את חשבון המנהל. השאירו את 3000 סגור לאינטרנט (פרסמו אותו על 127.0.0.1 והשתמשו ב-SSH tunnel) עד שההתקנה מסתיימת. [2][9]
  • מאחורי reverse proxy, הוסיפו את כתובת ה-proxy ל-trusted_proxies כדי ש-AdGuard Home יקרא את כתובת הלקוח האמיתית מה-headers; אחרת כל לקוח DoH נראה כמו ה-proxy, והגדרות הגישה בודקות את ה-proxy ולא את הלקוח. [13][14]
  • ה-container רץ כ-root ‏(ה-image לא מגדיר USER). השאירו את ממשק הניהול על כתובת פרטית או מאחורי אימות ב-proxy, ואל תפרסמו אף פעם את פורט ה-pprof ‏6060. [1][5]

גיבוי

  • גבו את AdGuardHome.yaml ‏(כל ההגדרות, הלקוחות, החוקים המותאמים וה-hash של סיסמת המנהל) ואת תיקיית data ‏(סטטיסטיקות, יומן שאילתות, ‏sessions, ‏DHCP leases), כשה-container עצור: התוכנה הרצה דורסת את ה-YAML. [1][3][13][15]
  • ה-YAML לבדו משחזר שרת עובד: רשימות החסימה יורדות שוב מהכתובות שלהן (כל 24 שעות כברירת מחדל), ורק ההיסטוריה של יומן השאילתות והסטטיסטיקות תאבד. [9][13]

גרסה אחרונה

הגרסה האחרונה של הפרויקט
AdGuard Home 0.107.79 [7][8]
הפרופיל נבדק מול

AdGuard Home 0.107.79

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

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

נבדק ב-2026-10-14: ‏v0.107.79 ‏(2026-08-18 ב-Docker Hub) הוא ה-tag היציב החדש ביותר. ‏v0.108.0-b.91 ו-v1.0.0-b.1 ‏(ממשק ושיטת גרסאות חדשים) הם בטא, ו-v0.107.80 רק מתוכנן ב-CHANGELOG.

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

גרסה

סטטוס הפרופיל
פורסם
נבדק מול גרסה
AdGuard Home 0.107.79
גרסת הפרופיל
1.0.0
המספרים אומתו
14 באוק׳ 2026
גרסת הקטלוג
2026.10.10
מדיניות sizing
2026.10.0
קובץ Compose
עדיין לא זמין

מקורות

  1. AdGuard Home KB: Docker (volumes /opt/adguardhome/work and conf; ports 53, 67/68, 80, 443, 3000, 853, 5443, 6060; --network host for client IPs and DHCP; DNSStubListener=no) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  2. AdGuard Home KB: Getting started (needs 3000/TCP setup, 80/TCP web UI, 53/UDP DNS; wizard on 0.0.0.0:3000; Docker auto-update disabled; setcap; mmap limitation) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  3. AdGuard Home KB: FAQ (bind: address already in use = systemd-resolved on 127.0.0.53:53, fix by hand in Docker; reverse proxy; manual update backs up AdGuardHome.yaml and data/) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  4. AdGuard Home KB: Running securely (public server exposed to DDoS; Allowlist mode with allowed clients; disable plain DNS; default plain-DNS ratelimit 20) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  5. AdguardTeam/AdGuardHome docker/build.Dockerfile at v0.107.79 (alpine:3.23, setcap cap_net_bind_service, dirs owned by nobody, no USER, no HEALTHCHECK, EXPOSE 53…6060) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  6. Docker Hub: adguard/adguardhome v0.107.79 image (linux/amd64 29,487,891 B compressed; config: no User, no Healthcheck; CMD -c conf/AdGuardHome.yaml -w work) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  7. Docker Hub: adguard/adguardhome tags (v0.107.79 newest stable on 2026-08-18; v0.108.0-b.91 and v1.0.0-b.1 are betas) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  8. AdguardTeam/AdGuardHome CHANGELOG.md at v0.107.79 (schema migrations with rollback steps; 0.107.74 http.doh; 0.107.78 rule-list size limit; 0.107.34 HEALTHCHECK removed) (Release notes · נקרא 14 באוק׳ 2026)
  9. AdguardTeam/AdGuardHome internal/home/config.go at v0.107.79 (defaults: web 0.0.0.0:3000, ratelimit 20, cache 4 MiB, query log 90 days, statistics 1 day, AdGuard DNS filter) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  10. AdguardTeam/AdGuardHome internal/querylog/querylogfile.go at v0.107.79 (rotation renames querylog.json to querylog.json.1 once the oldest entry passes the interval) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  11. AdguardTeam/AdGuardHome internal/filtering/rulelist/rulelist.go at v0.107.79 (DefaultMaxRuleListSize = 256 MB) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  12. AdguardTeam/AdGuardHome README.md at v0.107.79 (based on the software behind the public AdGuard DNS servers, sharing a lot of code) (מאגר רשמי · נקרא 14 באוק׳ 2026)
  13. AdGuard Home KB: Configuration (querylog and statistics interval 1h–8760h, allowed_clients, trusted_proxies, http.doh.insecure_enabled, cache_size) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  14. AdGuard Home KB: Encryption (DoH, DoT, DoQ, DNSCrypt; behind a reverse proxy set trusted_proxies to the proxy address) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  15. AdGuard Home KB: DHCP (leases stored in data/leases.json) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  16. AdGuard Home wiki: VPS (check the server with host doubleclick.net against it; a blocked domain answers NXDOMAIN) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  17. ANAROQ measurement 2026-10-14, v0.107.79 amd64 binary from this image: RSS 64 MB (peak 92 MB) with 184,525 rules; 188 MB (peak 332 MB) with 1,113,090 rules, 25.3 MB of lists (מדידה · נקרא 14 באוק׳ 2026)
  18. ANAROQ measurement 2026-10-14, v0.107.79: 8,000 queries wrote 2,680,363 B to querylog.json (blocked entries ~325 B, answered ~375 B); stats.db 16 KiB (מדידה · נקרא 14 באוק׳ 2026)
  19. AdGuard DNS home page (hosted DNS filtering with a dashboard, by Adguard Software Ltd.) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
  20. AdGuard DNS KB: Private DNS overview (custom blocklists and rules, query log, statistics, parental control; between public AdGuard DNS and AdGuard Home) (תיעוד רשמי · נקרא 14 באוק׳ 2026)

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