BookStack
פלטפורמת wiki ותיעוד בקוד פתוח, כתובה ב-PHP (Laravel): התוכן מאורגן במדפים, ספרים, פרקים ודפים, עם עורך WYSIWYG ועורך Markdown. רצה כאן כ-image של linuxserver.io עם מסד נתונים MariaDB.
משאבים לפי רמת עומס
מה האפליקציה עצמה צריכה בכל רמה, לצד מה שאנחנו ממליצים לשרת שמריץ רק אותה.
| רמה | מה זה אומר | דרישות האפליקציה | מומלץ |
|---|---|---|---|
| קלהערכה | עד 10 משתמשים, בקשת דף אחת לא-שמורה בכל פעם, עד 5 GiB של תמונות וקבצים מצורפים, מסד נתונים עד 256 MiB. | 1 vCPU · 0.875 GiB RAM · 6.887 GiB דיסק | 1.32 vCPU · 2.55 GiB RAM · 17.351 GiB דיסק |
| בינוניהערכה | עד 50 משתמשים, 3 בקשות דף לא-שמורות במקביל, עד 20 GiB של תמונות וקבצים מצורפים, מסד נתונים עד 512 MiB. | 3 vCPU · 1.5 GiB RAM · 22.387 GiB דיסק | 3.72 vCPU · 3.3 GiB RAM · 35.176 GiB דיסק |
| כבדהערכה | עד 200 משתמשים, 5 בקשות דף לא-שמורות במקביל (המגבלה של PHP-FPM ב-image), עד 50 GiB של תמונות וקבצים מצורפים, מסד נתונים עד 1 GiB. | 5 vCPU · 2.625 GiB RAM · 53.387 GiB דיסק | 6.12 vCPU · 4.65 GiB RAM · 70.826 GiB דיסק |
מומלץ = דרישות האפליקציה + baseline של המערכת + מרווח ביטחון (headroom), לפי מדיניות ה-sizing 2026.10.0. האפשרויות נשארות בברירת המחדל. ״הערכה״ פירושה שהמקורות לא נותנים מספר למקרה הזה, ולכן הוא מחושב מהם בשיטה שמפורטת תחת רכיבים. איך המספרים נבנים
קבצים מוכנים להפעלה
רמת תמיכה נתמך
תבנית Compose מהמקורות הרשמיים; עוד לא נבדקה בהרצה.
רכיבים
מה כל רכיב צריך בכל רמת עומס, לפני baseline ו-headroom.
| רכיב | קל | בינוני | כבד | מקורות |
|---|---|---|---|---|
| BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) (app) | 0.75 / 0.375 / 5.762 | 2.25 / 0.625 / 20.762 | 3.75 / 0.875 / 50.762 | [2][11][19][29][30][33][34][35] |
| MariaDB (database) | 0.25 / 0.5 / 1.125 | 0.75 / 0.875 / 1.625 | 1.25 / 1.75 / 2.625 | [36][37][38][41] |
איך ההערכות מחושבות
- BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) · קל: אין מספר רשמי. vCPU: בקשה ממתינה לשאילתות שלה, ולכן בקשה אחת צריכה לכל היותר 1 vCPU; 75% מהם כאן. RAM: 256 MiB קבועים (OPcache 128, memcached עד 64, 64 ל-nginx, ל-FPM master ול-s6) ועוד 1 × memory_limit של 128 MiB = 0.375 GiB. דיסק: image דחוס של 115,431,525 B (0.108 GiB) ועוד 434,337,792 B פרוס (0.405 GiB), ה-containerd store שומר את שניהם = 0.512 GiB. ועוד 5 GiB העלאות ו-0.25 GiB ללוגים, caches, sessions וערכות עיצוב.
- BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) · בינוני: אותה שיטה עם 3 בקשות במקביל: vCPU 75% מ-3 = 2.25. RAM: 256 MiB קבועים ועוד 3 × memory_limit של 128 MiB = 0.625 GiB. דיסק: image דחוס של 115,431,525 B (0.108 GiB) ועוד 434,337,792 B פרוס (0.405 GiB), ה-containerd store שומר את שניהם = 0.512 GiB. ועוד 20 GiB העלאות ו-0.25 GiB ללוגים, caches ו-sessions.
- BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) · כבד: אותה שיטה עם 5 בקשות במקביל, ה-pm.max_children של ה-pool: vCPU 75% מ-5 = 3.75. RAM: 256 MiB קבועים ועוד 5 × memory_limit של 128 MiB = 0.875 GiB. יותר מזה דורש pool גדול יותר ב-/config/php/www2.conf. דיסק: image דחוס של 115,431,525 B (0.108 GiB) ועוד 434,337,792 B פרוס (0.405 GiB), ה-containerd store שומר את שניהם = 0.512 GiB. ועוד 50 GiB העלאות ו-0.25 GiB ללוגים, caches ו-sessions.
- MariaDB · קל: vCPU: 25% הנותרים מתקציב ה-vCPU האחד של הבקשות. RAM: buffer pool שמכיל מסד של 256 MiB; 256 MiB / 0.6 (pool הוא 60-70% מה-RAM) = 0.42, מעוגל ל-0.5 GiB. דיסק: image של 103 MiB דחוס, 0.5 GiB, ועוד 0.25 GiB נתונים, 96 MiB redo log ו-0.25 GiB ל-dump מקומי = 1.09, מעוגל ל-1.125 GiB.
- MariaDB · בינוני: vCPU: 25% מתקציב 3 ה-vCPU של הבקשות. RAM: ה-buffer pool מוגדל ל-512 MiB כדי להכיל את המסד; 512 MiB / 0.6 = 0.83, מעוגל ל-0.875 GiB. דיסק: 0.5 GiB ל-image, ועוד 0.5 GiB נתונים, 96 MiB redo log ו-0.5 GiB ל-dump מקומי = 1.59, מעוגל ל-1.625 GiB.
- MariaDB · כבד: vCPU: 25% מתקציב 5 ה-vCPU של הבקשות. RAM: ה-buffer pool מוגדל ל-1 GiB כדי להכיל את המסד; 1 GiB / 0.6 = 1.67, מעוגל ל-1.75 GiB. דיסק: 0.5 GiB ל-image, ועוד 1 GiB נתונים, 96 MiB redo log ו-1 GiB ל-dump מקומי = 2.59, מעוגל ל-2.625 GiB.
async-queue· BookStack (linuxserver.io image: nginx + PHP-FPM 8.5): תהליך PHP CLI נוסף (artisan queue:work) שמריץ job אחד בכל פעם: RAM עד ה-memory_limit שלו, 128 MiB; vCPU 0.25 בלבד, כי ה-jobs (מייל, קריאת webhook) קצרים ובעיקר ממתינים לרשת. ה-jobs נשמרים כשורות במסד הקיים.
אפשרויות שמשנות משאבים
פורטים
פורטים ציבוריים נועדו לגישה מחוץ ל-stack, בדרך כלל דרך reverse proxy; פורטים פנימיים נשארים ברשת של ה-stack עצמו.
| רכיב | פורט | חשיפה | שימוש | מקורות |
|---|---|---|---|---|
| BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) | 80/tcp | ציבורי, דרך proxy | Web UI and REST API (nginx + PHP-FPM), behind a TLS reverse proxy | [1][2][8] |
| BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) | 443/tcp | פנימי בלבד | nginx HTTPS with the image's self-signed certificate; unused, TLS ends at the proxy | [3][8][9] |
| BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) | 443/udp | פנימי בלבד | nginx HTTP/3 (QUIC) listener of the image; unused | [8] |
| BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) | 11211/tcp | פנימי בלבד | memcached started by the image; BookStack's default CACHE_DRIVER is file | [10][11][25] |
| MariaDB | 3306/tcp | פנימי בלבד | MariaDB client protocol for BookStack | [39] |
משתמש והרשאות (UID/GID)
המשתמש שהתהליך של כל קונטיינר רץ תחתיו, והנתיבים שהוא כותב אליהם. bind mount לאחד הנתיבים האלה חייב להיות ניתן לכתיבה על ידי ה-UID:GID הזה.
| רכיב | UID:GID | משתמש | מתחיל כ-root | כותב אל | מקורות |
|---|---|---|---|---|---|
| BookStack (linuxserver.io image: nginx + PHP-FPM 8.5) | 1000:1000 | abc | כן, מכין את התיקיות שלו ואז עובר למשתמש הזה | /config | [1][4][6][29][31][32] |
| MariaDBנגזר | 999:999 | mysql | כן, מכין את התיקיות שלו ואז עובר למשתמש הזה | /var/lib/mysql | [42][43][44] |
- BookStack (linuxserver.io image: nginx + PHP-FPM 8.5): ה-image מתחיל כ-root (/init של s6, בלי USER): הוא נותן למשתמש abc את PUID/PGID (1000 בתבנית ובדוגמה הרשמית, 911 כשלא מוגדר), מעביר את /config לבעלות abc, ו-PHP-FPM, ה-queue worker ו-memcached רצים כ-abc.
- MariaDB: ה-entrypoint מתחיל כ-root, מעביר את /var/lib/mysql לבעלות mysql ומריץ את עצמו מחדש עם gosu mysql. המזהים לא קבועים: useradd -r ו-groupadd -r על ubuntu:noble נקי לוקחים את ראש טווח המערכת (SYS_UID_MAX 999). לבדיקה: docker run --rm mariadb:12.3.3 id mysql.
צמיחת אחסון
בכמה הנתונים של כל רכיב גדלים בחודש בכל רמת עומס, מעבר לדיסק שבפרופיל. ערך שמסומן ״הנחה״ הוא הנחה מוצהרת של ANAROQ ולא מספר מהמקורות; ההערות מפרטות על מה היא נשענת.
| רכיב | קל | בינוני | כבד | מקורות |
|---|---|---|---|---|
| BookStack (linuxserver.io image: nginx + PHP-FPM 8.5)הנחה | 0.417 | 1.667 | 4.167 | [2][19] |
| MariaDBהנחה | 0.021 | 0.042 | 0.084 | [25][39] |
על מה מספרי הצמיחה נשענים
- BookStack (linuxserver.io image: nginx + PHP-FPM 8.5): BookStack לא מפרסם קצב גידול. ההנחה: 5 GiB של תמונות וקבצים מצורפים ב-/config, לפי ה-preset, מתמלאים תוך 12 חודשים: 5 / 12 = 0.417.
- BookStack (linuxserver.io image: nginx + PHP-FPM 8.5): אותה הנחה של 12 חודשים: 20 GiB של העלאות / 12 = 1.667.
- BookStack (linuxserver.io image: nginx + PHP-FPM 8.5): אותה הנחה של 12 חודשים: 50 GiB של העלאות / 12 = 4.167.
- MariaDB: ההנחה: המסד של ה-preset (256 MiB) מגיע לגודלו תוך 12 חודשים: 0.25 / 12 = 0.0208, עוגל ל-0.021. גרסאות הדפים מוגבלות ל-100 לדף (REVISION_LIMIT), ופריטים שנמחקו יוצאים מסל המחזור אחרי 30 יום (RECYCLE_BIN_LIFETIME).
- MariaDB: אותה הנחה של 12 חודשים: מסד של 0.5 GiB / 12 = 0.0417, עוגל ל-0.042.
- MariaDB: אותה הנחה של 12 חודשים: מסד של 1 GiB / 12 = 0.0833, עוגל ל-0.084.
שדרוג וחזרה לאחור
איך עוברים לגרסה חדשה בבטחה, ואיך חוזרים אחורה אם משהו נכשל.
קודם גיבוי
לפני העדכון לגבות את מסד הנתונים (mariadb-dump של bookstack) ואת ה-volume של /config, שמכיל את .env, תמונות שהועלו, קבצים מצורפים וערכות עיצוב. [2][19][20]
שלבי השדרוג
- לקרוא את ה-Version Specific Instructions בדף העדכונים של BookStack לכל גרסה שבין הגרסה הנוכחית ליעד; רק הגרסה האחרונה מקבלת תיקונים. [20][24]
- להגדיר בקובץ ה-Compose את ה-tag המוצמד החדש של linuxserver.io (v<version>-ls<build>), ואז להריץ docker compose pull ו-docker compose up -d. בכל הפעלה ה-image מריץ php artisan migrate --force, ולכן שינויי המסד מוחלים מעצמם. [4][20][28]
- אם דפים נראים לא מעודכנים אחרי העדכון, לנקות את ה-caches: docker compose exec bookstack php /app/www/artisan cache:clear (וגם config:clear ו-view:clear). [3][20]
- ל-image חדש של MariaDB, לשנות את ה-tag המוצמד שלו באותה דרך; במעבר בין גרסאות major להגדיר MARIADB_AUTO_UPGRADE כדי ש-mariadb-upgrade יעדכן את טבלאות המערכת. [39]
חזרה לאחור
BookStack לא מתעד חזרה לגרסה קודמת: לעצור את ה-stack, לשחזר את ה-dump של המסד ואת גיבוי /config שנלקחו לפני העדכון, ולהצמיד את ה-tag הקודם של ה-image. [4][19][20]נגזרמדריך העדכון אומר לגבות קודם כדי למנוע אובדן נתונים, וה-image מעדכן את סכמת המסד קדימה בהפעלה, כך ש-image ישן לא יכול לעבוד מול הסכמה המעודכנת; שחזור הגיבוי הוא הדרך חזרה.
שינויים שוברים ידועים
- בגרסה v26.09: חובה להגדיר APP_KEY: BookStack כבר לא חוזר למפתח ברירת מחדל ומחזיר שגיאה. התבנית תמיד מגדירה אותו מ-.env. [20]
- בגרסה v26.05: הגישה לגרסאות דפים הפכה להרשאת תפקיד נפרדת, ולכן חלק מהמשתמשים עלולים לאבד גישה לגרסאות אחרי העדכון. ייצוא PDF דורש ש-storage/fonts יהיה ניתן לכתיבה. [20]
- בגרסה v25.12: המסד המינימלי עלה ל-MySQL 8.0 או MariaDB 10.6; גרסאות ישנות יותר כבר לא נבדקות ולא נתמכות. [17][20]
- בגרסה v25.11: שינויים גדולים במבנה המסד: לגבות היטב לפני, ולהקצות דקות ולא שניות למיגרציה ב-instances גדולים. [20]
מגבלות
- ה-pool של PHP-FPM ב-image מאפשר 5 workers (pm.max_children 5) עם memory_limit של 128 MB, ולכן לכל היותר 5 בקשות דף מעובדות במקביל. יותר מזה דורש pool גדול יותר ב-/config/php/www2.conf ויותר RAM. [29][30][33]
- לא מוגדר שרת דואר, ולכן הזמנות, איפוס סיסמה והתראות לא נשלחים עד שמוסיפים הגדרות MAIL_* (SMTP) לסביבה או ל-/config/www/.env. [2][22][25]
- BookStack מגביל העלאה ל-50 MB לקובץ (FILE_UPLOAD_SIZE_LIMIT); ה-image מעלה את מגבלות ההעלאה וה-POST של PHP ל-100 MB. [4][25]
- ל-BookStack אין image רשמי: זה ה-image הקהילתי של linuxserver.io, הראשון ברשימה בתיעוד של BookStack. MariaDB רץ עם buffer pool של 128 MiB כברירת מחדל; ברמות medium ו-heavy יש להגדיל את innodb_buffer_pool_size כפי שה-presets מניחים. [1][17][36]
אבטחה
- ב-instance חדש יש כניסת מנהל ברירת מחדל: [email protected] עם הסיסמה password. יש להחליף את שניהם מיד אחרי הכניסה הראשונה, לפני שמישהו אחר יכול להגיע לכתובת (מצב local עם SSH tunnel בטוח לצעד הראשון הזה). [2][17][18]
- APP_KEY הוא credential: הוא מצפין סודות MFA, cookies ו-sessions. יש לשמור אותו בסוד ועם הגיבויים; מפתח שהשתנה שובר כניסות MFA עד שהמשתמשים מגדירים MFA מחדש. [18][19]
- תמונות שהועלו פתוחות לכל מי שיודע את הכתובת שלהן (STORAGE_TYPE local). לתוכן פרטי יש להפעיל העלאת תמונות באבטחה גבוהה, או להשתמש ב-local_secure או ב-local_secure_restricted. [18][21]
- מאחורי proxy יש להגדיר את APP_URL לכתובת ה-https ולסמוך רק על ה-proxy ב-APP_PROXIES. webhooks יכולים לפנות לכל מארח כברירת מחדל (ALLOWED_SSR_HOSTS *); כדאי להגביל זאת אם העורכים לא מהימנים לגמרי. [18][25]
- אין לפרסם את פורט 3306 של MariaDB; יש להשאיר אותו ברשת הפנימית. משתמש ה-DB של BookStack מקבל גישה רק למסד שלו, וסיסמת root אקראית. [18][39]
גיבוי
- יש לגבות את שני החלקים: רשומות המסד והקבצים. מסד הנתונים: dump לוגי של מסד bookstack עם mariadb-dump (בתיעוד mysqldump), ולא העתקה של קובצי נתונים חיים. [19][38]
- קבצים: ה-volume של /config, ובעיקר www/.env, www/uploads (תמונות), www/files ו-www/images (קבצים מצורפים ותמונות שמורות) ו-www/themes, שה-image ממפה ל-.env, public/uploads, storage/uploads ו-themes של BookStack. [2][19]
- יש לשמור את BOOKSTACK_APP_KEY עם הגיבוי ולשחזר את אותו מפתח. בשחזור, לטעון את המסד לפני שה-container של BookStack עולה; בכתובת חדשה, להריץ את הפקודה Update System URL. [18][19][23]
גרסה אחרונה
- הפרופיל נבדק מול
BookStack v26.09.1
הפרופיל נבדק מול הגרסה האחרונה.
- נבדק ב-
- 14 באוק׳ 2026
- מצב
- נבדק ב-90 הימים האחרונים
- איפה הגרסאות מתפרסמות
- אתר הפרויקט
גרסה
- סטטוס הפרופיל
- פורסם
- נבדק מול גרסה
- BookStack v26.09.1
- גרסת הפרופיל
- 1.0.0
- המספרים אומתו
- 14 באוק׳ 2026
- גרסת הקטלוג
- 2026.10.10
- מדיניות sizing
- 2026.10.0
- קובץ Compose
- לא אומת
הפרויקט וחלופות
- האתר הרשמי
- www.bookstackapp.com
- קוד מקור
- codeberg.org/bookstack/bookstack
מקורות
- BookStack devops: lsio-docker/docker-compose.yml (linuxserver bookstack + mariadb, APP_URL, APP_KEY, DB_*, /config volume, 6875:80) (Compose רשמי · נקרא 14 באוק׳ 2026)
- linuxserver/docker-bookstack README at e6221fc (default admin login, env vars, /config path mapping, QUEUE_CONNECTION, changelog) (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-bookstack Dockerfile at e6221fc (alpine-nginx base, PHP 8.5, memcached, /config symlinks, EXPOSE 80 443, VOLUME /config, no HEALTHCHECK) (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-bookstack init-bookstack-config/run: halts without APP_KEY, waits for DB_HOST, runs artisan migrate --force, chowns /config to abc (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-bookstack init-hook: the queue worker service starts only when QUEUE_CONNECTION is set (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-bookstack svc-queue-worker/run: php artisan queue:work as abc (s6-setuidgid) (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-bookstack AGENTS.md: do not add HEALTHCHECK or USER; the base image owns init and starts as root (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-baseimage-alpine-nginx 3.24: default site conf (listen 80, 443 ssl and 443 quic) (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-baseimage-alpine-nginx 3.24 init-keygen/run: self-signed certificate in /config/keys (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-bookstack svc-memcached/run: memcached -u abc with default options (קהילה · נקרא 14 באוק׳ 2026)
- memcached(1) man page: -m default 64 MB, -p TCP port default 11211, -l default INADDR_ANY (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack v26.09.1 app/Settings/StatusController.php: GET /status checks database, cache and session, 500 on failure (מאגר רשמי · נקרא 14 באוק׳ 2026)
- BookStack v26.09.1 app/Config/app.php: key from APP_KEY, cipher AES-256-CBC, url from APP_URL, proxies from APP_PROXIES (מאגר רשמי · נקרא 14 באוק׳ 2026)
- BookStack v26.09.1 TrustProxies middleware: APP_PROXIES split on commas, X-Forwarded-For/Host/Port/Proto trusted (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Laravel 12.x docs: Requests, Configuring Trusted Proxies (IPs and CIDR ranges such as 10.0.0.0/8) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MariaDB docs: Using Healthcheck.sh (--connect --innodb_initialized) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack docs: Installation (requirements PHP 8.2+, MySQL 8.0+ or MariaDB 10.6+; community Docker images: LinuxServer.io first, then solidnerd; default admin login; /status health endpoint) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack docs: Security (change [email protected], APP_URL, trusted proxies, APP_KEY is a 32-byte credential) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack docs: Backup and Restore (mysqldump, .env, public/uploads, storage/uploads, themes; keep APP_KEY) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack docs: Updating BookStack (back up first, artisan migrate, version-specific instructions) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack docs: File Upload Storage (local images are public; local_secure and local_secure_restricted) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack docs: Email & Webhooks (SMTP settings; async action handling with QUEUE_CONNECTION=database and a queue worker) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack docs: Commands (create an admin user, update system URL, delete page revisions) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack project FAQ: MIT license; no official managed hosting service; only the latest version is supported (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- BookStack v26.09.1 .env.example.complete (CACHE_DRIVER file, QUEUE_CONNECTION sync, REVISION_LIMIT 100, RECYCLE_BIN_LIFETIME 30, FILE_UPLOAD_SIZE_LIMIT 50, ALLOWED_SSR_HOSTS *) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- BookStack releases on Codeberg (v26.09.1 of 2026-09-29 is the latest) (Release notes · נקרא 14 באוק׳ 2026)
- Codeberg API: latest BookStack release (tag v26.09.1) (Release notes · נקרא 14 באוק׳ 2026)
- Docker Hub tags of linuxserver/bookstack (v26.09.1-ls288 newest build on 2026-10-14; version-v26.09.1 and latest move with each build) (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/bookstack:v26.09.1-ls288 amd64: 115,431,525 B compressed, 434,337,792 B unpacked (11 layers); has curl, pm.max_children 5, memory_limit 128M; no User, no Healthcheck (מדידה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-baseimage-alpine-nginx 3.24 init-php/run: /config/php/php-local.ini and /config/php/www2.conf override php.ini and www.conf (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver/docker-baseimage-alpine 3.24 init-adduser/run: user abc set to PUID/PGID (default 911) at start (קהילה · נקרא 14 באוק׳ 2026)
- linuxserver.io docs: Understanding PUID and PGID (קהילה · נקרא 14 באוק׳ 2026)
- PHP manual: FPM configuration (pm.max_children is the maximum number of child processes) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- PHP manual: OPcache runtime configuration (opcache.memory_consumption default 128 MB) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Docker: containerd image store is the default on fresh Engine 29+ installs and keeps images compressed and uncompressed (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MariaDB docs: InnoDB system variables (buffer pool default 128 MiB, innodb_log_file_size default 96 MB) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MariaDB docs: MariaDB Memory Allocation (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MariaDB docs: Container Backup and Restoration (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Docker Official Image mariadb: documentation (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- docker-library official-images: mariadb tags (12.3.3 = lts) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Hub: mariadb:12.3.3 (linux/amd64 107,837,515 B compressed) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- MariaDB/mariadb-docker 12.3 Dockerfile: groupadd -r mysql / useradd -r mysql on ubuntu:noble without fixed IDs, gosu (מאגר רשמי · נקרא 14 באוק׳ 2026)
- MariaDB/mariadb-docker 12.3 docker-entrypoint.sh: chowns the datadir to mysql, then exec gosu mysql (מאגר רשמי · נקרא 14 באוק׳ 2026)
- shadow-maint/shadow lib/find_new_uid.c: system IDs taken in SYS_UID_MIN..SYS_UID_MAX (default 999), searched from the top (מאגר רשמי · נקרא 14 באוק׳ 2026)