Make MySQL image configurable for CPUs without x86-64-v2

mysql:8.4 (Oracle Linux 9 build) aborts with 'Fatal glibc error: CPU does
not support x86-64-v2' on generic VM CPU types (kvm64/qemu64) and pre-2009
hardware. MYSQL_IMAGE env var (default mysql:8.4) lets such hosts run the
baseline-x86-64 mysql:8.0-debian build instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
ang3l12
2026-07-13 13:49:50 -06:00
parent 2c25fabd42
commit 36ee982ca3
3 changed files with 10 additions and 1 deletions

View File

@@ -42,6 +42,11 @@ ENTRA_API_SCOPE=
INITIAL_ADMIN_EMAILS=spencerm@pescoinc.biz
# ── MySQL ───────────────────────────────────────────────────────────────────
# Default image is mysql:8.4, which requires an x86-64-v2 CPU. If the mysql
# container dies with "Fatal glibc error: CPU does not support x86-64-v2"
# (common on VMs with a generic kvm64/qemu64 CPU type, or pre-2009 hardware),
# uncomment the Debian-based build:
#MYSQL_IMAGE=mysql:8.0-debian
MYSQL_HOST=mysql
MYSQL_PORT=3306
MYSQL_DATABASE=pesco_ncr

View File

@@ -304,5 +304,6 @@ Cairo — `brew install pango` on macOS). The Docker image includes them.
| "Could not verify group membership (group overage)" | Grant delegated `GroupMember.Read.All` + admin consent, or scope the group claim to "Groups assigned to the application". |
| Notification warning "OBO token exchange failed" | Check `ENTRA_CLIENT_SECRET`, and that `Mail.Send` has admin consent. |
| `api` container restarts at boot | MySQL still initializing; the entrypoint retries migrations 12×. Check `docker compose logs mysql`. |
| mysql dies instantly: "Fatal glibc error: CPU does not support x86-64-v2" | The host/VM CPU lacks x86-64-v2 (generic `kvm64`/`qemu64` VM CPU type, or pre-2009 hardware). Either set the hypervisor CPU type to `host` and reboot the VM, or set `MYSQL_IMAGE=mysql:8.0-debian` in `.env` and `docker compose down -v && docker compose up -d`. |
| Power BI can't authenticate | Update Connector/NET (needs `caching_sha2_password`), verify the `powerbi_ro` grants (`scripts/powerbi_grants.sql`). |
| Uploads fail at ~25 MB | Raise `MAX_UPLOAD_MB` (API) — nginx `client_max_body_size` is 50 MB in `frontend/nginx.conf`. |

View File

@@ -2,7 +2,10 @@ name: pesco-ncr
services:
mysql:
image: mysql:8.4
# mysql:8.4 (Oracle Linux 9) requires an x86-64-v2 CPU. On hosts/VMs
# without it ("Fatal glibc error: CPU does not support x86-64-v2"),
# set MYSQL_IMAGE=mysql:8.0-debian in .env (baseline x86-64 build).
image: ${MYSQL_IMAGE:-mysql:8.4}
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci