Skip to content

Support multi-platform Docker image (arm64) #136

@tianshanghong

Description

@tianshanghong

Feature Request

The Docker image (ghcr.io/miantiao-me/broadcastchannel:main) is currently only built for linux/amd64. On ARM64 hosts, Docker falls back to QEMU userspace emulation at runtime, which causes noticeable CPU overhead and degraded performance.

Background

I'm running BroadcastChannel via Docker on an ARM64 server. Because the image only ships amd64, Docker has to use QEMU to translate every instruction at runtime, which increases system load unnecessarily.

ARM64 servers are becoming more common across cloud providers (AWS Graviton, Oracle Cloud ARM free tier, Ampere Altra) and for self-hosting (Apple Silicon, Raspberry Pi). Supporting arm64 natively would benefit anyone deploying on these platforms.

Proposed Solution

The existing Dockerfile uses node:lts-alpine, which already provides multi-architecture base images — so no Dockerfile changes are needed. Only 3 lines need to be added to .github/workflows/docker.yml to set up QEMU + Docker Buildx and specify platforms: linux/amd64,linux/arm64.

I've submitted a PR with the implementation: #135

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions