ARM64-compatible Docker image for MongoDB BI Connector, built from scratch to solve compatibility issues on Apple Silicon and other ARM-based systems.
The Problem
For my final year project - a dynamic forms and form management system - I needed MongoDB BI Connector to expose MongoDB data to SQL-based analytics tools. At the time, MongoDB only provided x86_64 binaries. No official ARM64 build existed, which meant:
- Apple Silicon Macs couldn’t run it natively
- Rosetta emulation added overhead and complexity
- ARM-based cloud instances (AWS Graviton, etc.) were unsupported
The Solution
Built a multi-stage Dockerfile that compiles the BI Connector from source for ARM64:
- Go cross-compilation - Built the connector binary targeting
linux/arm64 - Multi-arch support - Image works on both AMD64 and ARM64 via Docker buildx
- Minimal footprint - Final image based on Alpine, keeping size down
Why It Matters
This wasn’t just about running software locally - it enabled:
- Local development on M1/M2 Macs without emulation overhead
- Cost savings by deploying to ARM instances (often 20-40% cheaper)
- Consistency between dev and prod environments
The image is publicly available and has helped others facing the same gap in MongoDB’s official tooling.