From 45f1c56a520e11388a52ea9a482ea7d31590555a Mon Sep 17 00:00:00 2001 From: ang3l12 Date: Mon, 13 Jul 2026 13:54:39 -0600 Subject: [PATCH] Default MySQL image to mysql:8.0-debian The Oracle Linux based mysql:8.4 image requires x86-64-v2 and fails on the PESCO Docker host even with the Proxmox CPU type set to host. The Debian build runs on baseline x86-64; MYSQL_IMAGE still allows overriding. Co-Authored-By: Claude Fable 5 --- .env.example | 9 ++++----- README.md | 2 +- docker-compose.yml | 8 ++++---- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.env.example b/.env.example index cbcb72b..e59b0b3 100644 --- a/.env.example +++ b/.env.example @@ -42,11 +42,10 @@ 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 +# Default is the Debian-based build, which runs on any x86-64 CPU. The Oracle +# Linux images (e.g. mysql:8.4) need x86-64-v2 and crash on PESCO's Docker +# host ("Fatal glibc error"). Override only if your host supports it: +#MYSQL_IMAGE=mysql:8.4 MYSQL_HOST=mysql MYSQL_PORT=3306 MYSQL_DATABASE=pesco_ncr diff --git a/README.md b/README.md index cdece94..a495eec 100644 --- a/README.md +++ b/README.md @@ -304,6 +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`. | +| mysql dies instantly: "Fatal glibc error: CPU does not support x86-64-v2" | You overrode `MYSQL_IMAGE` to an Oracle Linux build (e.g. `mysql:8.4`) on a host without x86-64-v2. Remove the override — the default `mysql:8.0-debian` runs on any x86-64 CPU. | | 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 52f50fb..9bf47b6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,10 +2,10 @@ name: pesco-ncr services: mysql: - # 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} + # Debian-based build by default: the Oracle Linux images (mysql:8.4) + # require an x86-64-v2 CPU and die with "Fatal glibc error: CPU does not + # support x86-64-v2" on PESCO's Docker host. Override via MYSQL_IMAGE. + image: ${MYSQL_IMAGE:-mysql:8.0-debian} command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci