N8n docker install problem

Lately I have been having issues with n8n like the local IP is inaccessible even though the docker container was up. Long story but I basically reinstalled the entire image on the single board computer hosting the n8n docker and I want to reinstall it now with docker compose but it seems to be hitting a roadblock with the image

Here is what it said

radxa@radxa-cubie-a7a:~/ngrokcompose$ docker pull docker.n8n.io/n8nio/n8nUsing default tag: latestlatest: Pulling from n8nio/n8nef354d822d2e: Pull complete067acbc617c7: Download complete3098f6258e8b: Pull complete1b117172ef7a: Download complete2051fdaef421: Download complete7ecc50e748e0: Download complete37a64cae8b50: Pulling fs layer4f4fb700ef54: Download completecb121033bd30: Download complete1b20058d68d1: Download complete9da0ac8feff8: Download completee8b67aeaf9c3: Download completefailed to copy: httpReadSeeker: failed open: failed to do request: Get "https://registry-1.docker.io/v2/n8nio/n8n/blobs/sha256:37a64cae8b506955f09cb0095c906c50d1d027d1590c41d29c27ad580f8c1fef": net/http: timeout awaiting response headers

I think it is an issue with where the download for the image is pointed, on n8n official page and docker hub, it uses this same image which does not work, can anyone help me out?

I am not sure if the original problem of local IP being inaccessible (like it kept buffering) was related to this as well

the docker compose file will be shown below

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    env_file: .env
    volumes:
      - n8n_data:/home/node/.n8n

  ngrok:
    image: ngrok/ngrok:latest
    restart: always
    depends_on:
      - n8n
    env_file: .env
    command: http --url=${NGROK_DOMAIN} n8n:5678
    ports:
      - "4040:4040" # ngrok web UI

volumes:
  n8n_data:




I am specifically using the ngrok approach which is from this documentation guide

It seems to use the same image for n8n though, and pulling ngrok itself has no issues

EDIT: bot marked this as spam and said editing will unhide it

Hey @unix, while you wait for a response, here are some things that might help:

Suggested resources

Automatically matched to your question.

Docs:

Forum:

@Phraiphet_Hitakarun, @romp, @bigdave2oo4 - you’ve helped with similar issues before, can you take a look?

Automatically suggested by n8n’s community bot. It’s a pilot - please share feedback here.

Hi @unix

The reason you cannot access n8n via the SBC’s local IP (e.g., http://192.168.1.x:5678) is actually in your docker-compose.yaml file:

ports:
  "127.0.0.1:5678:5678"

Change that line to allow connections from any IP address on your network:

ports:
  "5678:5678"

The docker.n8n.io registry is a mirror provided by n8n, but it eventually points to Docker Hub. If that specific mirror is having routing issues to your location, try pulling the standard image directly from Docker Hub instead.

In your docker-compose.yaml, change: image: docker.n8n.io/n8nio/n8n to image: n8nio/n8n:latest

You can also try forcing your SBC to use Google’s DNS.

@unix Just wanted to add to @kjooleng post, if you prefer privacy, another good dns is cloud,fare 1.1.1.1

Hi, I made the change of the ports, removing the 127.0.0.1.

What do you mean by pulling the standard image from docker hub?

with this line?

docker pull n8nio/n8n

It also does not work:

radxa@radxa-cubie-a7a:~/ngrokcompose$ docker pull n8nio/n8n
Using default tag: latest
latest: Pulling from n8nio/n8n
1b117172ef7a: Pull complete
37a64cae8b50: Download complete
4f4fb700ef54: Download complete
2051fdaef421: Pull complete
1b20058d68d1: Download complete
7ecc50e748e0: Pull complete
9da0ac8feff8: Download complete
cb121033bd30: Pulling fs layer
067acbc617c7: Pull complete
ef354d822d2e: Pull complete
3098f6258e8b: Pull complete
failed to copy: httpReadSeeker: failed open: failed to do request: Get “https://registry-1.docker.io/v2/n8nio/n8n/blobs/sha256:e8b67aeaf9c3a251df942cd7e999878f4d0ffe2cc323ce97ada049fda3c8be7c”: net/http: timeout awaiting response headers

I believe it’s an endpoint issue with the download somehow

my SBC is currently using 1.1.1.1 as the DNS already too

EDIT: bot thinks this post is spam

Please read again

docker pull n8nio/n8n:latest

It is the same thing as noted by the “Using default tag: latest” one line below, followed with “latest: Pulling from n8nio/n8n”

Can you try login to Docker Hub then pull the image.
Also, instead of latest tag, can you try pinning to specific version for example, 2.34.5

OK, I can reply again so

Not sure what you mean by logging into Dockerhub to pull the image. I can already see the instructions to pull without logging in which is the same one I have been showing.

Which specific version would you want me to pull?

Also I must mention the SBC I am using is Radxa A7A which is ARMv8 or arm64 so I tried other pulls on docker hub that has aarm64 in the name but the instructions look to be the same except for the one copy field on the right side that says docker pull n8nio/n8n:2.35.1-arm64

That arm version pulled successfully, it also works with the compose BUT now I am facing the problem I had before where the local URL would just keep buffering

Same issue persists on different browsers

here is my compose file


services:
  n8n:
    image: n8nio/n8n:2.35.1-arm64
    restart: always
    ports:
      - "5678:5678"
    env_file: .env
    volumes:
      - n8n_data:/home/node/.n8n

  ngrok:
    image: ngrok/ngrok:latest
    restart: always
    depends_on:
      - n8n
    env_file: .env
    command: http --url=${NGROK_DOMAIN} n8n:5678
    ports:
      - "4040:4040" # ngrok web UI

volumes:
  n8n_data:


@unix

Can you modify your compose file to be similar to this

services:
  n8n:
    image: n8nio/n8n:2.35.1-arm64
    restart: always
    ports:
      # Uncomment the line you prefer:
      # - "0.0.0.0:5678:5678"      # expose on every interface
      - "192.168.1.100:5678:5678" # expose only on this IP
    env_file: .env
    volumes:
      - n8n_data:/home/node/.n8n
    # ------- helpful n8n URL vars (see step 2) -------
    environment:
      - N8N_HOST=192.168.1.100   # or 0.0.0.0 if you used the 0.0.0.0 mapping
      - N8N_PORT=5678
      - N8N_URL=http://192.168.1.100:5678

Does it help?

Here is you full compose file

services:
  n8n:
    image: n8nio/n8n:2.35.1-arm64
    restart: always
    # Expose on the LAN IP you want (change if you use 0.0.0.0)
    ports:
      - "192.168.1.100:5678:5678"
    env_file: .env
    volumes:
      - n8n_data:/home/node/.n8n
    # ---- make n8n generate correct URLs ----
    environment:
      - N8N_HOST=192.168.1.100
      - N8N_PORT=5678
      - N8N_URL=http://192.168.1.100:5678

  ngrok:
    image: ngrok/ngrok:latest
    restart: always
    depends_on:
      - n8n
    env_file: .env
    command: http --url=${NGROK_DOMAIN} n8n:5678
    ports:
      - "4040:4040" # ngrok web UI

volumes:
  n8n_data:

it fails completely

but I have also discovered other services do not want to load in browser like my Home Assistant docker container, plex and jellyfin. They just keep on loading as well. Even Home Assistant kept loading in my phone. The ethernet connection is fine though seeing as I can ssh into the SBC.

I have no idea what is the root cause