2.1 KiB
2.1 KiB
Upstream sources — ghost
| service | image | source repo | releases / changelog |
|---|---|---|---|
| app | ghost | https://github.com/TryGhost/Ghost | https://github.com/TryGhost/Ghost/releases |
| db | mysql | https://github.com/mysql/mysql-server | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/ |
Standing notes
- Ghost 6.x stores ALL content in MySQL (
database__client: mysql), NOT sqlite. Marker/test rows live in theghostDB. - MySQL 8.0 → 8.4 (LTS): no application-level migrations needed for Ghost's usage. Default value changes are internal to InnoDB (e.g.
innodb_io_capacity200→10000,innodb_flush_methodfsync→O_DIRECT). Theci_markertable and Ghost schema survive the upgrade intact. - The recipe ships a literal
start_period: 15mon bothappanddbhealthchecks (added in recipe PR #1) to handle cc-ci's slow first-boot MySQL schema migration (~6-15 min). Thecompose.ccci.ymloverlay mirrors this for the upgrade-tier BASE deploy. - Ghost 6.x Docker images use the
-alpinevariant; pin toX.Y.Z-alpine(notX.Y.Z-alpine3.NN) for simplicity. - MySQL 9.x is NOT supported by Ghost — do NOT bump mysql past 8.x. Ghost's official docs
(https://ghost.org/docs/faq/supported-databases/) state verbatim: "MySQL 8 is the only supported
database in production." Ghost is built for "Ubuntu, MySQL 8, nginx and Node.js LTS"; MySQL 9.x is
not mentioned anywhere in their compatibility docs. Additionally MySQL 9.0.0 itself was pulled by
Oracle ("no longer available for download ... removed due to a critical issue"), and 9.x removes the
mysql_native_passwordauth plugin (deprecated in 8.0) and now ENFORCES inline foreign-key specifications (previously silently ignored) — both real breakage surfaces Ghost has not certified against.abra recipe upgradewill keep flagging 9.0–9.7 as available; treat that as a false-positive candidate list and SKIP (staying on the8.4LTS tag, which resolves to the latest 8.4.x patch). Re-evaluate only if Ghost publishes MySQL 9 support guidance. (Confirmed still-true on 2026-06-22.)