Problema con la instalación de n8n en docker

Últimamente he estado teniendo problemas con n8n, como que la IP local es inaccesible aunque el contenedor de docker estuviera activo. Larga historia, pero básicamente reinstalé toda la imagen en la computadora de placa única que aloja el docker de n8n y quiero reinstalarla ahora con docker compose, pero parece estar chocando contra un obstáculo con la imagen

Aquí está lo que decía
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

Creo que es un problema con dónde está apuntada la descarga de la imagen, en la página oficial de n8n y en docker hub, usa esta misma imagen que no funciona. ¿Puede alguien ayudarme?

No estoy seguro de si el problema original de que la IP local fuera inaccesible (como si siguiera en buffer) estaba relacionado con esto también

el archivo docker compose se mostrará a continuación
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:

Estoy utilizando específicamente el enfoque de ngrok que proviene de esta guía de documentación

Parece usar la misma imagen para n8n aunque, y extraer ngrok en sí no tiene problemas
eso

Hola @unix, mientras esperas una respuesta, aquí hay algunas cosas que podrían ayudarte:

Recursos sugeridos

Emparejado automáticamente con tu pregunta.

Documentación:

Foro:

@Phraiphet_Hitakarun, @romp, @bigdave2oo4 - han ayudado con problemas similares antes, ¿pueden echarle un vistazo?

Sugerido automáticamente por el bot de la comunidad de n8n. Es una prueba piloto - por favor comparte tu opinión aquí.

Hola @unix

La razón por la que no puedes acceder a n8n a través de la IP local del SBC (por ejemplo, http://192.168.1.x:5678) está en tu archivo docker-compose.yaml:

ports:
  "127.0.0.1:5678:5678"

Cambia esa línea para permitir conexiones desde cualquier dirección IP en tu red:

ports:
  "5678:5678"

El registro docker.n8n.io es un espejo proporcionado por n8n, pero eventualmente apunta a Docker Hub. Si ese espejo específico está teniendo problemas de enrutamiento a tu ubicación, intenta extraer la imagen estándar directamente desde Docker Hub.

En tu docker-compose.yaml, cambia: image: docker.n8n.io/n8nio/n8n a image: n8nio/n8n:latest

También puedes intentar forzar que tu SBC use el DNS de Google.

@unix Solo quería añadir al post de @kjooleng, si prefieres privacidad, otro buen dns es cloudflare 1.1.1.1

Hola, hice el cambio de los puertos, removiendo 127.0.0.1.

¿Qué quieres decir con descargar la imagen estándar de docker hub?

¿Con esta línea?

docker pull n8nio/n8n

Tampoco 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

Creo que hay un problema con el endpoint de descarga de alguna manera

Mi SBC está usando 1.1.1.1 como DNS también

Por favor lee de nuevo

docker pull n8nio/n8n:latest

Es lo mismo que se señala en la línea “Using default tag: latest” una línea más abajo, seguida de “latest: Pulling from n8nio/n8n”

¿Puedes intentar iniciar sesión en Docker Hub y luego descargar la imagen?
Además, en lugar de la etiqueta latest, ¿puedes intentar fijar una versión específica, por ejemplo, 2.34.5?

OK, puedo responder de nuevo, así que

No estoy seguro de qué quieres decir con iniciar sesión en Dockerhub para descargar la imagen. Ya puedo ver las instrucciones para descargar sin iniciar sesión, que es la misma que he estado mostrando.

¿Qué versión específica querrías que descargue?

También debo mencionar que el SBC que estoy utilizando es Radxa A7A que es ARMv8 o arm64, así que intenté otras descargas en docker hub que tienen aarm64 en el nombre, pero las instrucciones parecen ser las mismas excepto por el campo de copia en el lado derecho que dice docker pull n8nio/n8n:2.35.1-arm64

Esa versión arm se descargó exitosamente, también funciona con el compose PERO ahora me enfrento al problema que tenía antes donde la URL local simplemente seguiría cargando

El mismo problema persiste en diferentes navegadores

aquí está mi archivo 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" # ngrok web UI

volumes:
  n8n_data:


@unix

¿Podrías modificar tu archivo compose para que sea 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

¿Te ayuda?

Aquí está tu archivo compose completo

services:
  n8n:
    image: n8nio/n8n:2.35.1-arm64
    restart: always
    # Exponer en la IP de LAN que desees (cambia si usas 0.0.0.0)
    ports:
      - "192.168.1.100:5678:5678"
    env_file: .env
    volumes:
      - n8n_data:/home/node/.n8n
    # ---- hacer que n8n genere URLs correctas ----
    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" # interfaz web de ngrok

volumes:
  n8n_data:

falla completamente

pero también he descubierto que otros servicios no quieren cargarse en el navegador como mi contenedor Docker de Home Assistant, Plex y Jellyfin. Simplemente siguen cargando. Incluso Home Assistant seguía cargando en mi teléfono. La conexión Ethernet está bien, sin embargo, ya que puedo hacer ssh en la SBC.

No tengo idea cuál es la causa raíz