-
Notifications
You must be signed in to change notification settings - Fork 12
Separate AVX and non-AVX Docker builds for MongoDB compatibility #39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Separate AVX and non-AVX Docker builds for MongoDB compatibility #39
Conversation
- Updated Dockerfile to include separate stages for AVX and non-AVX builds, with appropriate MongoDB versions. - Enhanced README with detailed instructions for using both AVX and non-AVX Docker images, including troubleshooting for AVX-related errors. - Added logging for MongoDB process exit errors, specifically for AVX-related issues.
- Renamed Docker image build targets to clearly differentiate between AVX and non-AVX versions. - Adjusted tags for the Docker images to reflect the changes in target names.
|
@leodrivera looks like a good idea, thanks!
|
|
And as I see, we will have different versions of Mongo for different builds.
I am thinking about the idea of two versions, maybe keeping only the check on error and telling users to set up their own Mongo instance. What do you think @leodrivera ? |
|
Just dropping by to say thank you so much for doing this! I ran into JUST this problem today. The any-sync-dockercompose repo also had a section for this in their FAQ and while my host machine's hardware is pretty old, that shows it's more than just me Looking forward to the good news! |
Yeah, I've tested it on my device. It's Intel(R) Celeron(R) N4120 CPU @ 1.10GHz, which does not support AVX Below is the log from the |
My first idea was to do it like this, so that we could continue with only 2 types of build. However, MongoDB 4.4 only supports up to Ubuntu 20.04, while |
Yeah, my host machine is a MiniPC with Celeron, so it does not support AVX. I confess I took some time to identify the root cause of why the As in your case, you also have a CPU without AVX support, I think it's worth testing it on your machine to see if the warning message is appearing correctly. |
|
I added notes to the README about the AVX issue for now. Thanks! |
- Introduced optional S3 storage backend for the filenode, allowing configuration via environment variables. - Updated Docker images to version 1.2.1-2025-12-10 across various compose files. - Enhanced README and contributing documentation with new setup instructions for S3. - Added integration tests for S3 configuration and functionality. - Updated dependencies, including any-sync modules and testcontainers for integration testing.
Summary
This PR introduces separate Docker image builds for AVX and non-AVX compatible systems, addressing MongoDB compatibility issues across different CPU architectures and virtualization environments.
Changes
Dockerfile
stage-release-all-in-one) and non-AVX (stage-release-all-in-one-noavx) versionsRelease Workflow
.github/workflows/release.ymlto build and push three Docker images:minimal- Minimal bundle imagenon-avx- All-in-one bundle with non-AVX compatible MongoDBlatest- All-in-one bundle with AVX-compatible MongoDB (builds last)Documentation
Application Code
cmd/start.gofor better error diagnosticsBenefits
Image Tags
ghcr.io/<repo>:latest- AVX-compatible all-in-one imageghcr.io/<repo>:non-avx- Non-AVX compatible all-in-one imageghcr.io/<repo>:minimal- Minimal bundle imageTesting