Integrazioni

Proxy Docker remoto

Monitora un engine situato su un altro server tramite LAN, VPN o Tailscale.

Un proxy Docker remoto concede privilegi amministrativi significativi. Non esporlo mai a Internet e non pubblicare mai il socket Docker grezzo. Preferisci una rete privata con filtraggio della sorgente; per le reti non attendibili, aggiungi TLS o un tunnel autenticato.

Architettura LAN o Tailscale

Sull'host Docker remoto:

services:
  docker-proxy:
    image: tecnativa/docker-socket-proxy:v0.5.0
    restart: unless-stopped
    environment:
      CONTAINERS: 1
      IMAGES: 1
      VOLUMES: 1
      NETWORKS: 1
      INFO: 1
      POST: 1
      DELETE: 0
      AUTH: 0
      BUILD: 0
      EXEC: 0
      SYSTEM: 0
    ports:
      # Set this variable in the remote host's local .env.
      - "${DOCKER_PROXY_BIND_IP}:2375:2375"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

Imposta DOCKER_PROXY_BIND_IP nel file .env locale sull'IP reale di Tailscale o LAN dell'host remoto. Non effettuare il commit di questo file. Aggiungi una regola del firewall che consenta solo l'IP sorgente dell'host di NasDash verso la porta TCP 2375.

In NasDash:

http://PRIVATE_PROXY_IP:2375

Variante SSH senza pubblicare la porta 2375

Crea un tunnel persistente dall'host di NasDash che colleghi una porta locale a 127.0.0.1:2375 sull'host remoto, quindi rendi questa porta raggiungibile dal container NasDash. Questo approccio richiede una gestione rigorosa della chiave SSH e del servizio tunnel; non viene fornito automaticamente da NasDash.

Test dal container

docker compose exec nasdash node -e "fetch('http://PRIVATE_PROXY_IP:2375/_ping').then(r=>r.text()).then(console.log)"

Se l'host risponde dalla macchina ma non dal container, controlla il routing di Docker, le regole del firewall e le regole di Tailscale. Consulta anche Accesso remoto.

L'HTTP è accettabile solo su una rete privata attendibile

Il proxy non autentica questo URL in modo autonomo. Su una rete condivisa o non attendibile, usa un livello TLS autenticato o un tunnel e mantieni il filtraggio della sorgente.