Problema na instalação do N8n com docker

Ultimamente tenho enfrentado problemas com n8n, como o IP local estar inacessível mesmo com o contêiner Docker ativo. Longa história, mas basicamente reinstalei a imagem inteira no computador de placa única que hospeda o Docker do n8n e agora quero reinstalá-lo com docker compose, mas parece estar esbarrando em um obstáculo com a imagem

Aqui está o que apareceu
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

Acho que é um problema de para onde o download da imagem está apontando. Na página oficial do n8n e no Docker Hub, usa essa mesma imagem que não funciona. Alguém consegue me ajudar?

Não tenho certeza se o problema original de o IP local estar inacessível (parecia estar constantemente carregando) também estava relacionado a isso

O arquivo docker compose será mostrado abaixo
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:

Estou usando especificamente a abordagem ngrok que vem deste guia de documentação

Parece usar a mesma imagem para n8n, e puxar ngrok em si não tem problemas
it

Ei @unix, enquanto você aguarda uma resposta, aqui estão algumas coisas que podem ajudar:

Recursos sugeridos

Automaticamente correspondido à sua pergunta.

Documentos:

Fórum:

@Phraiphet_Hitakarun, @romp, @bigdave2oo4 - vocês já ajudaram com problemas semelhantes, podem dar uma olhada?

Sugerido automaticamente pelo bot da comunidade do n8n. É um piloto - compartilhe seu feedback aqui.

Oi @unix

O motivo pelo qual você não consegue acessar o n8n via IP local do SBC (por exemplo, http://192.168.1.x:5678) está no seu arquivo docker-compose.yaml:

ports:
  "127.0.0.1:5678:5678"

Altere essa linha para permitir conexões de qualquer endereço IP na sua rede:

ports:
  "5678:5678"

O registro docker.n8n.io é um espelho fornecido pela n8n, mas eventualmente aponta para o Docker Hub. Se esse espelho específico está tendo problemas de roteamento para sua localização, tente fazer o pull da imagem padrão diretamente do Docker Hub.

No seu docker-compose.yaml, altere: image: docker.n8n.io/n8nio/n8n para image: n8nio/n8n:latest

Você também pode tentar forçar seu SBC a usar o DNS do Google.

@unix Só queria adicionar ao post do @kjooleng, se você prefere privacidade, outro bom dns é cloud,fare 1.1.1.1

Oi, fiz a alteração das portas, removendo o 127.0.0.1.

O que você quer dizer com “puxar a imagem padrão do docker hub”?

com esta linha?

docker pull n8nio/n8n

Isso também não funciona:

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: Pull complete
7ecc50e748e0: Pull complete
9da0ac8feff8: Pull 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

Acredito que é um problema de endpoint com o download de alguma forma

meu SBC está usando 1.1.1.1 como DNS já

Por favor, leia novamente

docker pull n8nio/n8n:latest

É a mesma coisa observada pela linha „Using default tag: latest

Você consegue fazer login no Docker Hub e depois fazer pull da imagem?
Além disso, em vez da tag latest, você consegue tentar fixar uma versão específica, por exemplo, 2.34.5

OK, posso responder novamente então

Não tenho certeza o que você quer dizer com fazer login no Dockerhub para fazer pull da imagem. Já consigo ver as instruções para fazer pull sem fazer login, que é a mesma que venho mostrando.

Qual versão específica você gostaria que eu fizesse pull?

Também devo mencionar que o SBC que estou usando é Radxa A7A, que é ARMv8 ou arm64, então tentei outros pulls no docker hub que têm aarm64 no nome, mas as instruções parecem ser as mesmas, exceto por um campo de cópia no lado direito que diz docker pull n8nio/n8n:2.35.1-arm64

Essa versão arm foi feita com pull com sucesso, também funciona com o compose, MAS agora estou enfrentando o problema que tinha antes, onde a URL local continuaria apenas carregando

O mesmo problema persiste em navegadores diferentes

aqui está meu arquivo compose


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"

volumes:
  n8n_data:


@unix

Você pode modificar seu arquivo compose para ser similar a este

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

Isso ajuda?

Aqui está seu arquivo compose completo

services:
  n8n:
    image: n8nio/n8n:2.35.1-arm64
    restart: always
    # Exponha no IP da LAN que você deseja (altere se usar 0.0.0.0)
    ports:
      - "192.168.1.100:5678:5678"
    env_file: .env
    volumes:
      - n8n_data:/home/node/.n8n
    # ---- faça o n8n gerar URLs corretas ----
    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" # interface web do ngrok

volumes:
  n8n_data:

falha completamente

mas também descobri que outros serviços não querem carregar no navegador, como meu contêiner Docker do Home Assistant, Plex e Jellyfin. Eles simplesmente continuam carregando também. Até o Home Assistant continuou carregando no meu telefone. A conexão Ethernet está funcionando bem, considerando que consigo fazer ssh no SBC.

Não faço ideia qual é a causa raiz