# ARM64 Architecture Support Missing - Docker Images Fail on linux/arm64 Hosts ## Description The Docker images for `ai-server` do not support ARM64 architecture, causing container startup failures on ARM64-based systems (e.g., Apple Silicon, Raspberry Pi, or ARM-based servers). The containers attempt to run `linux/amd64` binaries on `linux/arm64/v8` hosts, resulting in "exec format error" crashes. ## Steps to Reproduce 1. Clone the repository and navigate to the project directory 2. Run `docker compose up` 3. Observe container failures with platform mismatch warnings ### Console Output ```bash $ docker compose up [+] Running 1/2 ⠋ Container ai-server-fix-permissions [+] Running 5/6ng0.1s ✔ Container ai-server-fix-permissions Created0.1s ! app-fix-permissions The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s ✔ Container ai-server-migration [+] Running 6/6d0.1s ✔ Container ai-server-fix-permissions Created0.1s ! app-fix-permissions The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s ing0.0s ✔ Container ai-server-migration Created0.1s ! app-migration The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s ✔ Container ai-server Created0.0s ! app The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s Attaching to ai-server, ai-server-fix-permissions, ai-server-migration ai-server-fix-permissions | exec /bin/sh: exec format error ai-server-fix-permissions exited with code 255 ai-server-migration | exec /usr/bin/dotnet: exec format error ai-server-migration exited with code 255 Gracefully stopping... (press Ctrl+C again to force) service "app-migration" didn't complete successfully: exit 255 ``` ### System Information ```bash $ uname -a Linux abyss 5.10.160-rockchip-rk356x #1.0.0 SMP Tue Aug 22 11:38:20 CST 2023 aarch64 aarch64 aarch64 GNU/Linux ``` ## Expected Behavior Containers should start successfully on ARM64 hosts without platform compatibility errors. ## Actual Behavior - Platform mismatch warnings for all containers (`linux/amd64` vs `linux/arm64/v8`) - Critical failures with `exec format error` due to architecture incompatibility - Containers exit with code 255 during startup ## Environment - Host OS: Linux (Rockchip RK356x) - Kernel: 5.10.160-rockchip-rk356x - Architecture: `aarch64` (ARM64) - Docker Engine: 5:27.5.1-1~ubuntu.22.04~jammy - Docker Compose: 2.32.4-1~ubuntu.22.04~jammy ## Additional Context This appears to be caused by: 1. Docker images being built exclusively for `linux/amd64` 2. Missing multi-architecture support in the image manifests 3. No ARM64-compatible binaries in the container images ### Suggested Solutions 1. Publish multi-arch Docker images (including ARM64 support) 2. Add `platform: linux/arm64` to docker-compose.yml (though this requires available ARM64 images) 3. Provide build instructions for ARM64 environments This prevents the project from being used on increasingly common ARM64-based systems including M1/M2 Macs, Raspberry Pi 4/5, and AWS Graviton instances.