Integrationen

Remote Docker Proxy

Eine Docker Engine auf einem anderen Server über LAN, VPN oder Tailscale überwachen.

Ein entfernter Docker-Proxy gewährt erhebliche Verwaltungsrechte. Er darf niemals dem Internet ausgesetzt und der rohe Docker-Socket niemals veröffentlicht werden. Bevorzugt wird ein privates Netzwerk mit Quellfilterung; für nicht vertrauenswürdige Netzwerke sollte zusätzlich TLS oder ein authentifizierter Tunnel eingerichtet werden.

LAN- oder Tailscale-Architektur

Auf dem entfernten Docker-Host:

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:
      # Définissez cette variable dans le .env local de l'hôte distant.
      - "${DOCKER_PROXY_BIND_IP}:2375:2375"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

Setzen Sie DOCKER_PROXY_BIND_IP in der lokalen .env-Datei auf die tatsächliche Tailscale- oder LAN-IP des entfernten Hosts. Diese Datei darf nicht in die Versionskontrolle übernommen werden. Fügen Sie eine Firewall-Regel hinzu, die nur die Quell-IP des NasDash-Hosts auf TCP 2375 zulässt.

In NasDash:

http://PRIVATE_PROXY_IP:2375

SSH-Variante ohne Veröffentlichung von Port 2375

Erstellen Sie einen persistenten Tunnel vom NasDash-Host, der einen lokalen Port an 127.0.0.1:2375 auf dem entfernten Host bindet, und machen Sie diesen Port anschließend aus dem NasDash-Container erreichbar. Dieser Ansatz erfordert eine sorgfältige Verwaltung des SSH-Schlüssels und des Tunnel-Dienstes; er wird von NasDash nicht automatisch bereitgestellt.

Testen aus dem Container

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

Falls der Host von der Maschine aus antwortet, aber nicht aus dem Container, prüfen Sie die Docker-Weiterleitung, die Firewall-Regeln und die Tailscale-Regeln. Siehe auch Remote Access.

HTTP ist nur in einem vertrauenswürdigen privaten Netzwerk akzeptabel

Der Proxy authentifiziert diese URL selbst nicht. In einem geteilten oder nicht vertrauenswürdigen Netzwerk sollten Sie eine authentifizierte TLS-Schicht oder einen Tunnel verwenden und die Quellfilterung aufrechterhalten.