question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support ARM-based M1 Macs to run Amundsen in Docker

See original GitHub issue

Expected Behavior or Use Case

It should be possible to run Amundsen locally on M1 Mac computers. Currently, errors are thrown regarding the ARM-based architecture.

Possible Implementation

We could make an ARM-specific docker-compose.yml file, or we could conditionally load arm64 images depending on the platform of the host machine:

if [[ $(uname -m) == 'arm64' && $(uname) == 'Darwin' ]]; then 
    ...
fi

I was able to get docker-amundsen.yml to work with the following change:

@@ -2,6 +2,7 @@ version: '3'
 services:
   neo4j:
       image: neo4j:3.5.26
+      platform: linux/amd64
       container_name: neo4j_amundsen
       environment:
         - NEO4J_AUTH=neo4j/test

Example Screenshots (if appropriate):

Context

> docker-compose -f docker-amundsen.yml up
Pulling neo4j (neo4j:3.5.26)...
3.5.26: Pulling from library/neo4j
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
> docker-compose -f docker-amundsen-atlas.yml up
...
Pulling elasticsearch (elasticsearch:6.8.13)...
6.8.13: Pulling from library/elasticsearch
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
> uname -a
Darwin cpadden-m01 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:46:32 PDT 2022; root:xnu-8020.101.4~15/RELEASE_ARM64_T6000 arm64

EDIT: additionally, it appears there may be a compatibility issue with the fsevents dependency in docker-amundsen-atlas.yml.

#15 64.90 Build failed with error code: 1
#15 66.00 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/chokidar/node_modules/fsevents):
#15 66.00 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"})
#15 66.00 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
#15 66.00 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"})
#15 66.00
#15 66.01 npm ERR! code ELIFECYCLE
#15 66.02 npm ERR! errno 1
#15 66.02 npm ERR! node-sass@5.0.0 postinstall: `node scripts/build.js`
#15 66.02 npm ERR! Exit status 1
#15 66.02 npm ERR!
#15 66.02 npm ERR! Failed at the node-sass@5.0.0 postinstall script.

Issue Analytics

  • State:closed
  • Created a year ago
  • Reactions:1
  • Comments:8

github_iconTop GitHub Comments

1reaction
yoku2010commented, Jul 25, 2022

I was also facing the same issue with M1 Mac.

Screenshot of error: arm-issue

But after adding platform: linux/amd64 in docker-compose.yml file, it got fixed.

Then I faced another issue:

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:5000 -> 0.0.0.0:0: listen tcp 0.0.0.0:5000: bind: address already in use

Screenshot of error: Screenshot 2022-07-24 at 9 58 31 PM

This was apparently due to the new AirPlay functionality. Control Center stops listening to those ports when I turned off “AirPlay Receiver” in the “Sharing” System Preference.

Screenshot of solution: Screenshot 2022-07-24 at 10 08 41 PM

Now everything is workingfine.

I am wondering, why apple choose such a popular port.

0reactions
cmpaddencommented, Jul 20, 2022

just noticed this was closed. i assume this is not a priority?

I’ve not heard back from anyone on this issue, so that may be the case.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Run x86 (Intel) and ARM based images on Apple Silicon (M1 ...
Run x86 (Intel) and ARM based images on Apple Silicon (M1) Macs? ... You can run ARM or Intel Docker containers on the...
Read more >
Quick Start - Amundsen
Make sure you have at least 3GB available to docker. Install docker and docker-compose . · Clone this repo and its submodules by...
Read more >
Building amd64 Docker images with arm64 (M1) macOS
Imagine you've got a new Macbook with an ARM-based processor (Apple M1), and you're trying to build a collection of services defined in...
Read more >
What are microservices?
The pattern language enables you to use the microservice architecture successfully. ... Docker image that runs on an Arm-based Apple M1 MacBook.
Read more >
Amundsen Set Up Tutorial: A Step-By-Step Installation Guide
To install Amundsen, you would need the following: A local instance or a cloud VM (for instance, on AWS, Google Cloud, or Azure)...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found