mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-07-28 04:38:59 +00:00
1e0014e1832653a0d8ce23182a2c2c7ef9efde2e
Node.js v20 uses ARMv8.1 LSE atomic instructions that the GitHub Actions QEMU version does not support, causing SIGILL / "Illegal instruction" core dumps when npm ci runs inside the arm64 emulated layer. Solution: add a dedicated prod-deps build stage that runs on $BUILDPLATFORM (amd64, native) and uses tonistiigi/xx + xx-clang to cross-compile native modules (bcrypt, better-sqlite3, node-pty) for the TARGET architecture without ever executing Node.js under QEMU. The final runtime stage simply copies the pre-compiled node_modules from prod-deps. Stage breakdown: xx - cross-compilation helper (provides xx-clang, xx-apk) frontend-builder - $BUILDPLATFORM, vite build (no native modules) backend-builder - $BUILDPLATFORM, tsc compilation prod-deps - $BUILDPLATFORM + xx-clang cross-compiles for $TARGET final - TARGET platform, no compilation at all
Description
Self-hosted Docker Compose management platform. Great for homelabs, small DevOps teams, and platform engineers.
docker-composedocker-deploymentdocker-stackdocker-stack-deploydocker-uiself-hostedselfhostedwebsocket
AGPL-3.0
179 MiB
Languages
TypeScript
99.2%
JavaScript
0.4%
CSS
0.3%
Dockerfile
0.1%