From 36ee982ca329aea00d3419be8866aeb0946a7390 Mon Sep 17 00:00:00 2001 From: ang3l12 Date: Mon, 13 Jul 2026 13:49:50 -0600 Subject: [PATCH] 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 --- .env.example | 5 +++++ README.md | 1 + docker-compose.yml | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 937649c..cbcb72b 100644 --- a/.env.example +++ b/.env.example @@ -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 diff --git a/README.md b/README.md index d7cdc33..cdece94 100644 --- a/README.md +++ b/README.md @@ -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`. | diff --git a/docker-compose.yml b/docker-compose.yml index d75b6e0..52f50fb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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