Ghost
פלטפורמת פרסום בקוד פתוח לבלוגים ולניוזלטרים, עם חברים (members), מינויים בתשלום, ניוזלטרים במייל ועורך מובנה. הפריסה העצמית כוללת את אפליקציית Ghost ב-Node.js ואת MySQL; מיילים תפעוליים דורשים ספק SMTP, וניוזלטרים דורשים Mailgun.
משאבים לפי רמת עומס
מה האפליקציה עצמה צריכה בכל רמה, לצד מה שאנחנו ממליצים לשרת שמריץ רק אותה.
| רמה | מה זה אומר | דרישות האפליקציה | מומלץ |
|---|---|---|---|
| קלהערכה | 1–2 משתמשי צוות, כ-100 פוסטים עם כ-4 תמונות בכל אחד, כ-8 פוסטים חדשים בחודש, כ-1,000 צפיות ביום, עד 500 חברים וניוזלטר שבועי. | 0.75 vCPU · 1.5 GiB RAM · 4.5 GiB דיסק | 1.02 vCPU · 3.3 GiB RAM · 14.605 GiB דיסק |
| בינוניהערכה | עד 5 משתמשי צוות, כ-1,000 פוסטים, כ-40 פוסטים חדשים בחודש, כ-20,000 צפיות ביום בלי cache, כ-5,000 חברים וניוזלטר שבועי. | 1.5 vCPU · 2 GiB RAM · 24 GiB דיסק | 1.92 vCPU · 3.9 GiB RAM · 37.03 GiB דיסק |
| כבדהערכה | עד 20 משתמשי צוות, כ-5,000 פוסטים, כ-150 פוסטים חדשים בחודש, כ-200,000 צפיות ביום מאחורי CDN או cache, כ-50,000 חברים וניוזלטרים שבועיים. | 2.5 vCPU · 3.5 GiB RAM · 108 GiB דיסק | 3.12 vCPU · 5.7 GiB RAM · 133.63 GiB דיסק |
מומלץ = דרישות האפליקציה + baseline של המערכת + מרווח ביטחון (headroom), לפי מדיניות ה-sizing 2026.10.0. האפשרויות נשארות בברירת המחדל. ״הערכה״ פירושה שהמקורות לא נותנים מספר למקרה הזה, ולכן הוא מחושב מהם בשיטה שמפורטת תחת רכיבים. איך המספרים נבנים
קבצים מוכנים להפעלה
רמת תמיכה נתמך
תבנית Compose מהמקורות הרשמיים; עוד לא נבדקה בהרצה.
רכיבים
מה כל רכיב צריך בכל רמת עומס, לפני baseline ו-headroom.
| רכיב | קל | בינוני | כבד | מקורות |
|---|---|---|---|---|
| Ghost (web, Admin and APIs) (app) | 0.5 / 0.75 / 3 | 1 / 1 / 21 | 1.5 / 1.5 / 100 | [5][6][7][21][22][24][32][41] |
| MySQL (database) | 0.25 / 0.75 / 1.5 | 0.5 / 1 / 3 | 1 / 2 / 8 | [6][42][43][44][45] |
איך ההערכות מחושבות
- Ghost (web, Admin and APIs) · קל: Ghost מבקש לפחות 1 GB זיכרון ל-Ghost, MySQL ושרת ה-web, ומדריך ה-Docker שלו משתמש בשרת של 2 GB ו-vCPU אחד ל-Ghost, MySQL ו-Caddy: 0.75 GiB וחצי ליבה לתהליך ה-Node היחיד כאן. Disk: 209,530,515 B דחוסים × 3 (0.585 GiB), מעוגל ל-0.75 GiB, ועוד 100 פוסטים × 4 תמונות × הנחה של 5 MiB (המקור נשמר כ-_o, ועוד עותקים מוקטנים) = 1.95 GiB, מעוגל ל-3 GiB.
- Ghost (web, Admin and APIs) · בינוני: 20,000 צפיות ביום הן כ-0.23 בשנייה בממוצע וכמה בשנייה בשיא, כולן מרונדרות על ידי Ghost עצמו, ועוד עיבוד תמונות בהעלאה ושליחת ניוזלטר ל-5,000 חברים: ליבה אחת ו-1 GiB. Disk: 0.75 GiB ל-image ועוד 1,000 פוסטים × 4 תמונות × הנחה של 5 MiB (19.5 GiB), מעוגל ל-21 GiB.
- Ghost (web, Admin and APIs) · כבד: Ghost רץ כתהליך אחד לכל אתר וממליץ להגדיל קיבולת עם cache או CDN לפניו, כך שרוב כ-2.3 הצפיות בשנייה לא מגיעות אליו. 1.5 vCPU / 1.5 GiB: לולאת האירועים של Node ועוד עיבוד תמונות ורינדור ניוזלטרים ל-50,000 חברים (נשלחים דרך Mailgun). Disk: 0.75 GiB ל-image ועוד 5,000 פוסטים × 4 תמונות × הנחה של 5 MiB (97.7 GiB), מעוגל ל-100 GiB.
- MySQL · קל: ברירות המחדל של MySQL מיועדות לעלות על VM של כ-512 MB עם buffer pool של 128 MB; Ghost מחזיק pool של 2 עד 10 חיבורים: 0.75 GiB. Disk: 238,271,431 B × 3 (0.666 GiB), מעוגל ל-0.75 GiB, ועוד הנחה של 0.1 GiB לפוסטים, לחברים ולשורות נמעני ניוזלטר, 100 MB ל-redo log והנחה של 0.5 GiB ל-binary logs (נשמרים 30 יום כברירת מחדל) = 1.45 GiB, מעוגל ל-1.5 GiB.
- MySQL · בינוני: נתונים: 1,000 פוסטים × הנחה של 100 KB (תוכן, HTML וגרסאות) ועוד 5,000 חברים × 5 KB ועוד 5,000 נמענים × 4 ניוזלטרים × 12 חודשים × 1 KB = 0.37 GB, כ-0.5 GiB. 1 GiB משאיר מקום להגדיל את ה-buffer pool מ-128 MB לגודל כל מסד הנתונים. Disk: 0.75 GiB ל-image, 0.5 GiB נתונים, 0.1 GiB ל-redo והנחה של 1 GiB ל-binary logs = 2.35 GiB, מעוגל ל-3 GiB.
- MySQL · כבד: נתונים: 5,000 פוסטים × 100 KB ועוד 50,000 חברים × 5 KB ועוד 50,000 נמענים × 4 × 12 חודשים × 1 KB = 3.15 GB, כ-4 GiB. 2 GiB מכילים buffer pool של 1 GiB (MySQL ממליץ על 50% עד 75% מהזיכרון), שמוגדר עם --innodb-buffer-pool-size. Disk: 0.75 GiB ל-image, 4 GiB נתונים, 0.1 GiB ל-redo והנחה של 2 GiB ל-binary logs = 6.85 GiB, מעוגל ל-8 GiB.
פורטים
פורטים ציבוריים נועדו לגישה מחוץ ל-stack, בדרך כלל דרך reverse proxy; פורטים פנימיים נשארים ברשת של ה-stack עצמו.
משתמש והרשאות (UID/GID)
המשתמש שהתהליך של כל קונטיינר רץ תחתיו, והנתיבים שהוא כותב אליהם. bind mount לאחד הנתיבים האלה חייב להיות ניתן לכתיבה על ידי ה-UID:GID הזה.
| רכיב | UID:GID | משתמש | מתחיל כ-root | כותב אל | מקורות |
|---|---|---|---|---|---|
| Ghost (web, Admin and APIs)נגזר | 1000:1000 | node | כן, מכין את התיקיות שלו ואז עובר למשתמש הזה | /var/lib/ghost/content | [6][7][8][9] |
| MySQL | 999:999 | mysql | כן, מכין את התיקיות שלו ואז עובר למשתמש הזה | /var/lib/mysql/var/run/mysqld | [15][16] |
- Ghost (web, Admin and APIs): ה-image לא מגדיר USER: ה-entrypoint מתחיל כ-root, מעביר את הבעלות על הקבצים ב-/var/lib/ghost/content ל-node ומריץ את עצמו מחדש עם gosu node (uid ו-gid 1000 ב-base של node:22-alpine). נתיב ה-content מחזיק את התיקיות data, images, themes, logs ו-adapters של Ghost.
צמיחת אחסון
בכמה הנתונים של כל רכיב גדלים בחודש בכל רמת עומס, מעבר לדיסק שבפרופיל. ערך שמסומן ״הנחה״ הוא הנחה מוצהרת של ANAROQ ולא מספר מהמקורות; ההערות מפרטות על מה היא נשענת.
| רכיב | קל | בינוני | כבד | מקורות |
|---|---|---|---|---|
| Ghost (web, Admin and APIs)הנחה | 0.156 | 0.781 | 2.93 | [6][7] |
| MySQLהנחה | 0.003 | 0.022 | 0.2 | [6][45] |
על מה מספרי הצמיחה נשענים
- Ghost (web, Admin and APIs): פוסטים חדשים בחודש (8, 40, 150) × 4 תמונות × הנחה של 5 MiB: Ghost מקטין העלאות ל-2,000 פיקסלים ושומר את המקור עם הסיומת _o, וערכות נושא מוסיפות גדלים קטנים יותר. שום דבר לא פג; גם קובצי הלוג של Ghost (סבב יומי, 10 נשמרים) נמצאים ב-volume הזה.
- MySQL: חברים × 4 ניוזלטרים בחודש × הנחה של 1 KB לשורת נמען, ועוד פוסטים חדשים × 100 KB (תוכן, HTML וגרסאות). ה-binary logs מוסיפים חלון קבוע ולא גדילה: כברירת מחדל הם נמחקים אחרי 30 יום.
שדרוג וחזרה לאחור
איך עוברים לגרסה חדשה בבטחה, ואיך חוזרים אחורה אם משהו נכשל.
קודם גיבוי
קחו קודם mysqldump של מסד ghost וארכיון של ה-volume של content; גרסה ישנה של ה-image לא יכולה לבטל migrations של מסד הנתונים. [28][29]
שלבי השדרוג
- קראו את ה-release notes, ולפני major חדש גם את רשימת ה-breaking changes; Ghost ממליץ לעבור ל-major חדש אחרי ה-minor הראשון שלו. [26][27][28]
- שנו את ה-tag המוצמד של ghost (השאירו את גרסת -alpine), ואז הריצו docker compose pull ו-docker compose up -d. Ghost מריץ migrations למסד הנתונים בהפעלה; עקבו אחרי docker compose logs -f ghost עד שהוא מגיש שוב. [5][36]
- העבירו את MySQL רק בין tags של תיקונים ב-8.4.x: Ghost תומך ב-MySQL 8.0 ו-8.4, לא ב-9.x. [20][21]
חזרה לאחור
עצרו את Ghost, שחזרו את ה-dump של מסד הנתונים ואת הארכיון של content מלפני השדרוג, הצמידו את ה-tag הקודם והפעילו שוב. [29]
שינויים שוברים ידועים
- בגרסה 6.0.0: Node.js 22 בלבד (ה-image כולל אותו). בקשות API מחזירות לכל היותר 100 פריטים, גם עם ?limit=all, ולכן אינטגרציות צריכות pagination. AMP ו-GET /ghost/api/admin/session/ הוסרו; קבצים בלי סיומת בתיקיית השורש של ערכת נושא כבר לא מוגשים. [25][27]
- בגרסה 5.0.0: MySQL 8 הוא מסד הנתונים הנתמך היחיד (MySQL 5 כבר לא עובד, ו-MariaDB מעולם לא נתמך); כתובות ה-API איבדו את מספר הגרסה ומשתמשות בכותרת accept-version; url שמוגדר ל-http כבר לא מגיש בקשות מאובטחות. [23][27]
מגבלות
- instance אחד של Ghost לכל אתר: אין תמיכה ב-clustering, ב-load balancing או בהתקנה על כמה שרתים. מגדילים קיבולת עם cache או CDN לפניו. [21][24]
- ניוזלטרים במייל דורשים את ה-API לשליחה המונית של Mailgun, שמוגדר ב-Ghost Admin; SMTP (האפשרות smtp) נושא רק מיילים תפעוליים. בלי Mailgun חברים עדיין נרשמים, אבל פוסטים לא נשלחים במייל. [6][32]
- Social Web (ActivityPub) ו-web analytics כבויים בתבנית הזו. הראשון דורש שלושה נתיבים אל https://ap.ghost.org ב-proxy שלכם (שירות מתארח חינמי, עד 2,000 עוקבים ו-100 פעולות ביום); השני דורש Tinybird ואת שירותי ה-analytics של upstream. [4][5]
- MySQL נשאר בברירות המחדל: buffer pool של 128 MB ו-30 יום של binary logs ב-volume של הנתונים. ברמה heavy הגדילו את ה-pool עם --innodb-buffer-pool-size; ה-nginx של Ghost-CLI מאפשר העלאות של 50 MB, אז הגדירו מגבלת גוף בקשה דומה ב-proxy שלכם. [30][43][44][45]
אבטחה
- המבקר הראשון ב-/ghost יוצר את חשבון הבעלים: ההגדרה הראשונית פתוחה עד שמשלימים אותה פעם אחת. השלימו אותה מיד אחרי ההפעלה הראשונה, לפני שהאתר נגיש מהאינטרנט. [5][34]
- התחברות ממכשיר חדש דורשת קוד ש-Ghost שולח במייל למשתמש הצוות, ונכשלת אם אי אפשר לשלוח את המייל. הפעילו את האפשרות smtp לפני התחברות מדפדפן נוסף או הזמנת צוות. [31][33][35]
- הגישו את Ghost ב-HTTPS (ה-Admin חייב לרוץ ב-HTTPS), ודאגו שה-proxy ישלח X-Forwarded-Proto: https; בלעדיו Ghost מפנה ל-https בלולאה. [11][21][30]
- כל משתמש צוות נחשב מהימן ויכול לפרסם סקריפטים באתר. Ghost ממליץ על דומיין ניהול נפרד (admin__url, שהתבנית לא מגדירה), כדי שסקריפטים כאלה לא יגיעו ל-session של ה-Admin. [6][21][31]
גיבוי
- גבו את מסד הנתונים עם mysqldump --no-tablespaces כמשתמש ghost, את ה-volume של content (תמונות, מדיה, קבצים, ערכות נושא) עם tar, ואת ה-.env. הייצוא מ-Ghost Admin לא כולל תגובות, פעילות של חברים ומדיה. [29][39]
- לשחזור: עצרו את Ghost, ייבאו את ה-dump למסד ghost, פרסו את ארכיון content לתוך ה-volume והפעילו את Ghost שוב. [29]
גרסה אחרונה
- הפרופיל נבדק מול
Ghost 6.70.0
הפרופיל נבדק מול הגרסה האחרונה.
- נבדק ב-
- 14 באוק׳ 2026
- מצב
- נבדק ב-90 הימים האחרונים
- איפה הגרסאות מתפרסמות
- GitHub Releases
גרסה
- סטטוס הפרופיל
- פורסם
- נבדק מול גרסה
- Ghost 6.70.0
- גרסת הפרופיל
- 1.0.0
- המספרים אומתו
- 14 באוק׳ 2026
- גרסת הקטלוג
- 2026.10.10
- מדיניות sizing
- 2026.10.0
- קובץ Compose
- לא אומת
הפרויקט וחלופות
- האתר הרשמי
- ghost.org
- קוד מקור
- github.com/TryGhost/Ghost
- חלופות
- WordPressWriteFreely
מקורות
- TryGhost/ghost-docker compose.yml at 5109c70 (caddy on 80/443, ghost:${GHOST_VERSION:-6-alpine} with env_file .env, mysql:8.0.44 with mysqladmin ping healthcheck, analytics and activitypub profiles) (Compose רשמי · נקרא 14 באוק׳ 2026)
- TryGhost/ghost-docker .env.example at 5109c70 (DOMAIN, DATABASE_*PASSWORD; SMTP example smtp.example.com, 465, secure true; mail required for logins and invites) (Compose רשמי · נקרא 14 באוק׳ 2026)
- TryGhost/ghost-docker caddy/Caddyfile.example at 5109c70 (reverse_proxy ghost:2368, imports the ActivityPub, TrafficAnalytics and SecurityHeaders snippets) (Compose רשמי · נקרא 14 באוק׳ 2026)
- TryGhost/ghost-docker caddy/snippets/ActivityPub at 5109c70 (/.ghost/activitypub/*, /.well-known/webfinger and /.well-known/nodeinfo go to ACTIVITYPUB_TARGET, default https://ap.ghost.org) (Compose רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: How to install Ghost with Docker (preview: Ghost, Caddy, MySQL; SMTP required; hosted ActivityPub, 2,000 followers and 100 interactions a day; pull and up -d) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Configuration (env vars with __ for nesting; url, database and mail required in production; pool 2 to 10; images resized to 2,000 px, original kept with _o) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- TryGhost/docker-library-ghost 6/alpine3.23 Dockerfile at f3d7eab (node:22-alpine3.23, GHOST_VERSION 6.70.0, content in /var/lib/ghost/content, EXPOSE 2368, no HEALTHCHECK, no USER) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- TryGhost/docker-library-ghost 6/alpine3.23 docker-entrypoint.sh at f3d7eab (as root: chown the content dir to node, then gosu node; seeds empty content from content.orig) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- nodejs/docker-node 22/alpine3.23 Dockerfile (FROM alpine:3.23, so BusyBox wget; user node created with uid and gid 1000) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- BusyBox command help: wget (--spider checks existence; --header 'header: value') (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: url-redirects.js at v6.70.0 (an https url answers a non-secure request with a 301 to https) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: shared/express.js at v6.70.0 (trust proxy on, so req.secure follows X-Forwarded-Proto) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: Admin API routes.js at v6.70.0 (GET /site is a public Admin API endpoint) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: shared/config/loader.ts at v6.70.0 (nconf env with separator __ and parseValues true) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- docker-library/mysql 8.4 Dockerfile.oracle at 01f90d8 (MYSQL_VERSION 8.4.11, mysql uid/gid 999, gosu, VOLUME /var/lib/mysql, EXPOSE 3306 33060, no HEALTHCHECK) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- docker-library/mysql 8.4 docker-entrypoint.sh at 01f90d8 (init server with --skip-networking; MYSQL_DATABASE/USER/PASSWORD; MYSQL_RANDOM_ROOT_PASSWORD; chown to mysql, then gosu mysql) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Official Image mysql: documentation (MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD, MYSQL_RANDOM_ROOT_PASSWORD, data in /var/lib/mysql) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MySQL 8.4 Reference Manual: mysqladmin (ping returns 0 when the server runs, even on Access denied) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MySQL: EOL notices (MySQL 8.0 in Oracle Sustaining Support since April 21, 2026; upgrade to 8.4 LTS or 9.7 LTS) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- docker-library official-images: library/mysql (8.4.11, 9.7.2 lts and 26.7.0 innovation; no 8.0 tags are built any more) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Hosting Ghost (supported stack: Node.js 22, MySQL 8.0 or 8.4, at least 1 GB memory; admin must run over HTTPS; separate admin domain; scale with a cache, no clustering) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: How to install Ghost (a server with at least 1 GB of memory recommended) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: What databases are supported in production? (MySQL 8 only; MariaDB and SQLite3 not supported in production) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Clustering, sharding, HA and other multi-server setups (one Ghost instance per site; put a cache or CDN in front) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Supported Node versions (Ghost 6.0 and later require Node.js 22) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Major versions and long term support (5.x end of life January 2026; 6.x current; end-of-life versions are insecure) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Breaking changes (6.0: Node 22 only, max 100 results per API page, AMP removed; 5.0: MySQL 8 only, unversioned API URLs; update after the first minor) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: How to update Ghost (weekly releases; back up first; check breaking changes before a major) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: How can I backup my site data? (mysqldump of the database and a tar of the content volume for Docker; Admin export lacks comments, member activity and media) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Reverse proxying to Ghost (set X-Forwarded-Proto or get a redirect loop; Ghost-CLI's nginx allows 50 MB uploads) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Security (new-device sign-ins verified by emailed code; login attempts limited to 5 an hour per IP; all staff are trusted and can publish scripts) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost Docs: Why do I have to set up Mailgun? (newsletters need a bulk mail API, Mailgun only; SMTP is for transactional mail) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: session-service.js at v6.70.0 (staffDeviceVerification: unverified sessions get an emailed code; a failed send ends in 'Failed to send email') (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: services/auth/setup.js at v6.70.0 (the owner setup is open until it is completed once) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: shared/config/defaults.json at v6.70.0 (staffDeviceVerification true; log rotation daily, 10 files kept) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: database-state-manager.js at v6.70.0 (at boot: knex-migrator init on an empty database, migrate when needed) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: ghost/package.json at v6.70.0 (version 6.70.0, MIT, Node ^22.23.1 or ^24.20.0, mysql2) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Ghost repository: LICENSE at v6.70.0 (MIT, Ghost Foundation) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- TryGhost/ghost-docker scripts/migrate.sh at 5109c70 (mysqldump --no-tablespaces with the Ghost database user) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- docker-library official-images: library/ghost (6.70.0-alpine and 6.70.0 newest, from TryGhost/docker-library-ghost f3d7eab) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Hub: ghost tag 6.70.0-alpine (linux/amd64 209,530,515 B compressed, pushed 2026-10-13) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- Docker Hub: mysql tag 8.4.11 (linux/amd64 238,271,431 B compressed, pushed 2026-10-12) (מאגר רשמי · נקרא 14 באוק׳ 2026)
- MySQL 8.4 Reference Manual: How MySQL uses memory (defaults start on a ~512 MB VM; buffer pool 50 to 75% of memory recommended) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MySQL 8.4 Reference Manual: InnoDB startup options (innodb_buffer_pool_size default 128 MB; innodb_redo_log_capacity default 100 MB) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- MySQL 8.4 Reference Manual: Binary logging options (on by default; binlog_expire_logs_seconds default 2,592,000 = 30 days) (תיעוד רשמי · נקרא 14 באוק׳ 2026)
- Ghost: Ghost(Pro) plans and pricing (official managed hosting by the Ghost Foundation) (תיעוד רשמי · נקרא 14 באוק׳ 2026)