Open MrKovar opened 4 months ago
The changes include the addition of a PLATFORM
variable for architecture specification in the .env.example
, updates to the Dockerfile to support multi-architecture builds, and enhancements to the docker-compose.yml
for dynamic platform settings. The INSTALL.md
was also updated to cater specifically to Apple Silicon users. These modifications collectively improve the flexibility and usability of the application across different environments and hardware architectures.
Files | Change Summary |
---|---|
.env.example |
New environment variable PLATFORM=amd64 added. |
Dockerfile |
Introduced ELM_VERSION and PLATFORM arguments, restructured for multi-architecture (builder_amd64 , builder_arm64 ) support, updated Node.js installation using NVM, adjusted COPY commands and directory permissions. |
INSTALL.md |
Added instructions for Apple Silicon/Arm64 users for running the Azimutt application in Docker. |
docker-compose.yml |
Changed platform from hardcoded linux/amd64 to dynamic reference linux/$PLATFORM and added args section for build arguments. |
sequenceDiagram
participant User
participant Docker as Docker Environment
participant App as Application
User->>Docker: Run Docker with `--platform` flag
Docker->>Docker: Build image using specified PLATFORM
Docker->>App: Deploy application with correct architecture
🐇 "In the meadow where bunnies play,
A change in code brightens the day.
Platforms now dance, no need to fear,
With Elm and Node, the build is clear!
So hop along, let the builds take flight,
For every architecture, we'll code with delight!" 🐇✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Thanks for the reviews @SamirPS @loicknuchel ! I'll address them this evening and make things that are hard-coded easier to understand / made into a variable where necessary.
Thank @MrKovar
I would love to have this available to run on my Mac, in case the love I send your way happens to give any added motivation 💚😉
Fix for issue 295: https://github.com/azimuttapp/azimutt/issues/295
When running the Dockerfile on Apple Silicon the container will crash with a "segmentation fault" caused by the elm binary not being compatible with the arm64 architecture. This updates the Dockerfile to use a new command --build-arg PLATFORM=<arm64/amd64> amd64 by default in the build instructions to build a container specifically for your platform.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
INSTALL.md
to include commands specific to Apple Silicon architecture, improving usability for a wider audience.Chores
docker-compose.yml
to utilize dynamic platform specifications, making the configuration more adaptable across environments.