Skip to content

Conversation

@sankshi
Copy link

@sankshi sankshi commented Nov 24, 2025

Description

FIXES #308

This Pull Request adds proper ARM64 (Apple Silicon) support to the FOSSologyUI development environment.
Previously, the development setup failed on Apple Silicon machines because Docker pulled the wrong architecture image (linux/arm64), while the FOSSology backend only supports linux/amd64.

Please describe the changes in your pull request in few words here.

Changes

  1. Adds platform emulation support
    In docker-compose.dev.yml, the backend service now specifies: platform: ${DOCKER_PLATFORM:-linux/amd64}
    This ensures:
    • x86_64 users = no change
    • ARM64 users = automatic use of linux/amd64 via emulation (QEMU)

✔️ 2. Adds start-dev.sh script

New helper script that:
• Detects CPU architecture (arm64 vs x86_64)
• Sets DOCKER_PLATFORM=linux/amd64 automatically for Apple Silicon
• Runs the correct docker-compose commands

This improves the developer experience and prevents architecture errors.

List the changes done to fix a bug or introducing a new feature.

How to test

Testing was completed following project guidelines:
1. ARM64 (Apple Silicon) Testing
• ./start-dev.sh correctly detected ARM64.
• docker-compose.dev.yml successfully pulled linux/amd64 images.
• UI accessible at http://localhost:3000.
• Backend responding correctly on port 8081.
2. Manual architecture override
DOCKER_PLATFORM=linux/amd64 docker-compose -f docker-compose.dev.yml up
3. Lint & build tests
• npm install
• npm run lint
4. Verified no unnecessary files were included
(.pnpm-store and other local folders not committed)

This improves the developer experience and prevents architecture errors.

Describe the steps required to test the changes proposed in the pull request.
How to Test
1. Checkout the PR branch
git fetch origin
git checkout
2. Run the updated dev setup script
chmod +x start-dev.sh
./start-dev.sh
This will auto-detect system architecture (ARM64/x86_64) and apply the correct Docker platform.
3. Verify containers start correctly
• UI should run on http://localhost:3000
• Backend fossology_server should run on http://localhost:8081
4. For ARM64 (Apple Silicon) users:
Confirm backend runs using linux/amd64 emulation:
docker inspect fossologyui_server | grep Architecture
5. Stop the environment
docker compose -f docker-compose.dev.yml down

Please consider using the closing keyword if the pull request is proposed to
fix an issue already created in the repository
(https://help.github.com/articles/closing-issues-using-keywords/)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Development environment setup fails on Apple silicon (ARM64) architecture

1 participant