From 67a4a76afa71daee214b3f722b10e54bceb4dd48 Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Fri, 24 Jul 2026 16:53:12 +0200 Subject: [PATCH] fix(ui): Worker-Adressfeld nicht mehr mit window.location vorbelegen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Befund (Commander, Screenshot): Das Feld 'Rippy-Adresse' fuellte sich automatisch mit window.location.hostname — also der Adresse, ueber die man das UI geoeffnet hat (bei ihm die eigene PC-IP hinter einem Forward/Proxy, 192.168.178.98). Das ist NICHT zwingend die direkte LAN-IP der Rippy-Maschine, die der Worker fuer Redis/Postgres (6379/5432) braucht — der generierte Befehl zeigte damit auf den falschen Host ('Verbindung verweigert'). Fix: - Kein Auto-Default mehr (Feld leer); leeres Feld -> sichtbarer Platzhalter im Befehl (erkennbar unvollstaendig statt still falsch). - Label auf 'LAN-IP der Rippy-Maschine (Docker-Host)' geschaerft + dauerhaft sichtbarer Hilfetext: die IP der Rippy-Maschine, NICHT dieses PCs, und auch dann die direkte LAN-IP wenn das UI ueber Domain/Proxy geoeffnet wurde. Co-Authored-By: Claude Fable 5 --- docker/ui/src/components/WorkerVerwaltung.tsx | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/docker/ui/src/components/WorkerVerwaltung.tsx b/docker/ui/src/components/WorkerVerwaltung.tsx index 3cbbd66..4fa792b 100644 --- a/docker/ui/src/components/WorkerVerwaltung.tsx +++ b/docker/ui/src/components/WorkerVerwaltung.tsx @@ -38,10 +38,20 @@ export default function WorkerVerwaltung() { const [workers, setWorkers] = useState([]) const [kopiert, setKopiert] = useState(false) const [variante, setVariante] = useState<'linux' | 'windows'>('linux') - const [rippyHost, setRippyHost] = useState(window.location.hostname) + // BEWUSST leer: kein window.location.hostname-Default. Der füllte früher + // die Adresse, über die man das UI geöffnet hat (z. B. den eigenen PC hinter + // einem Proxy/Forward) — und die ist NICHT zwingend die direkte LAN-IP der + // Rippy-Maschine, die der Worker für Redis/Postgres braucht. Lieber bewusst + // eintragen lassen als eine falsche Adresse vorgaukeln. + const [rippyHost, setRippyHost] = useState('') const { toast } = useToast() + // Für die Befehle: leeres Feld → sichtbarer Platzhalter (Befehl ist dann + // erkennbar unvollständig, statt still auf die falsche Adresse zu zeigen). + const hostFuerBefehl = rippyHost || '' + const siehtOeffentlichAus = + rippyHost !== '' && !/^(\d{1,3}\.){3}\d{1,3}$/.test(rippyHost) && !rippyHost.endsWith('.local') && rippyHost !== 'localhost' && @@ -65,13 +75,13 @@ export default function WorkerVerwaltung() { const installBefehl = variante === 'linux' ? [ `git clone rippy && cd rippy`, - `RIPPY_HOST=${rippyHost} WORKER_NAME=mein-pc \\`, + `RIPPY_HOST=${hostFuerBefehl} WORKER_NAME=mein-pc \\`, ` docker compose -f deploy/remote-transcode-worker.yml up -d --build`, ].join('\n') : [ - `iwr http://${rippyHost}/api/worker-setup/windows -OutFile install-rippy-worker.ps1`, + `iwr http://${hostFuerBefehl}/api/worker-setup/windows -OutFile install-rippy-worker.ps1`, `powershell -ExecutionPolicy Bypass -File .\\install-rippy-worker.ps1 \``, - ` -RippyHost ${rippyHost} -WorkerName mein-pc`, + ` -RippyHost ${hostFuerBefehl} -WorkerName mein-pc`, ].join('\n') const kopieren = () => { @@ -157,15 +167,22 @@ export default function WorkerVerwaltung() {
setRippyHost(e.target.value.trim())} - placeholder="192.168.178.162" + placeholder="z. B. 192.168.178.162" /> +

+ Die IP der Maschine, auf der Rippy selbst (Docker) läuft — meist deine + Server-/NAS-VM. Nicht die IP des PCs, auf dem der Worker läuft, und auch + dann diese direkte LAN-IP eintragen, wenn du dieses UI über eine andere Adresse + (Domain/Proxy/Portweiterleitung) geöffnet hast. Der Worker spricht Redis/Postgres direkt + an (Ports 6379/5432) — das klappt nur mit der echten LAN-IP im Heimnetz. +

{siehtOeffentlichAus && (

- ⚠️ Das sieht nach einer externen Domain aus (Reverse-Proxy). Worker verbinden sich - direkt mit Redis/Postgres (Ports 6379/5432) — das geht nur im Heimnetz. Hier die LAN-IP eintragen, z. B. 192.168.178.162. + ⚠️ Das sieht nach einer externen Domain aus (Reverse-Proxy) — die geht nicht. Bitte die + LAN-IP der Rippy-Maschine eintragen, z. B. 192.168.178.162.

)}