n8n Docker-Installationsproblem

In letzter Zeit habe ich Probleme mit n8n, wie zum Beispiel, dass die lokale IP nicht erreichbar ist, obwohl der Docker-Container aktiv war. Lange Geschichte, aber ich habe das gesamte Image auf dem Single-Board-Computer, der den n8n-Docker hostet, neu installiert und möchte es jetzt mit Docker Compose neu installieren, aber es scheint auf ein Hindernis bei dem Image zu stoßen

Hier ist, was es sagte
radxa@radxa-cubie-a7a:~/ngrokcompose$ docker pull docker.n8n.io/n8nio/n8n
Using default tag: latest
latest: Pulling from n8nio/n8n
ef354d822d2e: Pull complete
067acbc617c7: Download complete
3098f6258e8b: Pull complete
1b117172ef7a: Download complete
2051fdaef421: Download complete
7ecc50e748e0: Download complete
37a64cae8b50: Pulling fs layer
4f4fb700ef54: Download complete
cb121033bd30: Download complete
1b20058d68d1: Download complete
9da0ac8feff8: Download complete
e8b67aeaf9c3: Download complete
failed 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

Ich denke, dass dies ein Problem mit der Quelle des Image-Downloads ist. Auf der offiziellen n8n-Seite und Docker Hub wird dasselbe Image verwendet, das nicht funktioniert. Kann mir jemand helfen?

Ich bin mir nicht sicher, ob das ursprüngliche Problem der Unerreichbarkeit der lokalen IP (wie es ständig pufferte) damit zusammenhängt

die Docker-Compose-Datei wird unten angezeigt
GNU nano 5.4 docker-compose.yaml
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:

  • “127.0.0.1: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:

Ich verwende speziell den ngrok-Ansatz, der aus dieser Dokumentationsleitlinie stammt

Es scheint dasselbe n8n-Image zu verwenden, und das Abrufen von ngrok selbst funktioniert ohne Probleme
es

Hey @unix, während du auf eine Antwort wartest, könnten dir diese Ressourcen helfen:

Empfohlene Ressourcen

Automatisch auf deine Frage abgestimmt.

Dokumentation:

Forum:

@Phraiphet_Hitakarun, @romp, @bigdave2oo4 – ihr habt bei ähnlichen Problemen schon geholfen, könnt ihr das mal anschauen?

Automatisch vorgeschlagen vom Community-Bot von n8n. Das ist ein Pilotprojekt – bitte gib hier dein Feedback.

Hallo @unix

Der Grund, warum du nicht über die lokale IP des SBC (z. B. http://192.168.1.x:5678) auf n8n zugreifen kannst, liegt tatsächlich in deiner docker-compose.yaml-Datei:

ports:
  "127.0.0.1:5678:5678"

Ändere diese Zeile, um Verbindungen von jeder IP-Adresse in deinem Netzwerk zu erlauben:

ports:
  "5678:5678"

Die docker.n8n.io-Registry ist ein von n8n bereitgestellter Mirror, der aber letztendlich auf Docker Hub verweist. Falls dieser spezifische Mirror Routing-Probleme zu deinem Standort hat, versuche stattdessen, das Standard-Image direkt von Docker Hub zu pullen.

Ändere in deiner docker-compose.yaml: image: docker.n8n.io/n8nio/n8n zu image: n8nio/n8n:latest

Du kannst auch versuchen, deinen SBC zu zwingen, Google’s DNS zu verwenden.

@unix Ich wollte nur auf den Beitrag von @kjooleng hinzufügen, wenn dir Datenschutz wichtig ist, ist ein weiteres gutes DNS cloudflare 1.1.1.1

Hi, ich habe die Änderung der Ports vorgenommen und 127.0.0.1 entfernt.

Was meinst du damit, das Standard-Image von Docker Hub zu ziehen?

Mit dieser Zeile?

docker pull n8nio/n8n

Es funktioniert auch nicht:

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: Download 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

Ich glaube, es gibt irgendwie ein Endpoint-Problem beim Download

Mein SBC verwendet bereits 1.1.1.1 als DNS

Bitte lies noch einmal

docker pull n8nio/n8n:latest

Es ist dasselbe wie in der Zeile „Using default tag: latest

Kannst du dich bei Docker Hub anmelden und dann das Image pullen?
Außerdem, statt des latest-Tags, kannst du versuchen, eine spezifische Version zu verwenden, zum Beispiel 2.34.5

OK, ich kann jetzt wieder antworten, also

Ich bin mir nicht sicher, was du mit dem Anmelden bei Dockerhub meinst, um das Image zu pullen. Ich kann bereits die Anweisungen zum Pullen ohne Anmeldung sehen, die dieselben sind, die ich die ganze Zeit gezeigt habe.

Welche spezifische Version möchtest du, dass ich pullen?

Auch muss ich erwähnen, dass der SBC, den ich verwende, der Radxa A7A ist, der ARMv8 oder arm64 ist. Ich habe also andere Pulls auf Docker Hub versucht, die aarm64 im Namen haben, aber die Anweisungen sehen gleich aus, außer bei dem einen Kopierfeld auf der rechten Seite, das docker pull n8nio/n8n:2.35.1-arm64 sagt

Diese arm-Version wurde erfolgreich gepullt und funktioniert auch mit dem Compose, aber jetzt bin ich auf das Problem gestoßen, das ich zuvor hatte, bei dem die lokale URL einfach nur buffern würde

Das gleiche Problem tritt in verschiedenen Browsern auf

hier ist meine Compose-Datei


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

Könntest du deine Compose-Datei ähnlich wie diese ändern?

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

Hilft dir das weiter?

Hier ist deine vollständige Compose-Datei

services:
  n8n:
    image: n8nio/n8n:2.35.1-arm64
    restart: always
    # Expose auf der LAN-IP, die du möchtest (ändern, wenn du 0.0.0.0 verwendest)
    ports:
      - "192.168.1.100:5678:5678"
    env_file: .env
    volumes:
      - n8n_data:/home/node/.n8n
    # ---- n8n korrekte URLs generieren lassen ----
    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:

es funktioniert überhaupt nicht

aber ich habe auch festgestellt, dass andere Dienste nicht im Browser geladen werden möchten, wie mein Home Assistant Docker-Container, Plex und Jellyfin. Sie laden einfach weiter. Selbst Home Assistant lud auf meinem Telefon weiter. Die Ethernet-Verbindung ist allerdings in Ordnung, da ich mich per SSH in die SBC verbinden kann.

Ich habe keine Ahnung, was die Grundursache ist