diff --git a/scripts/freqtrade-lxc-install.sh b/scripts/freqtrade-lxc-install.sh index 1996bf3..5cc774d 100644 --- a/scripts/freqtrade-lxc-install.sh +++ b/scripts/freqtrade-lxc-install.sh @@ -288,7 +288,6 @@ ok "Portainer gestartet" # ── Filebrowser ────────────────────────────────────────────────────────────────── inf "Filebrowser installieren (Port \${FB_PORT})..." -FB_PASS=$(openssl rand -hex 8) cat > "\$INSTALL_DIR/filebrowser/docker-compose.yml" << 'FBEOF' services: filebrowser: @@ -309,11 +308,16 @@ FBEOF sed -i "s/FBPORT/\${FB_PORT}/" "\$INSTALL_DIR/filebrowser/docker-compose.yml" cd "\$INSTALL_DIR/filebrowser" docker compose up -d > /dev/null 2>&1 -sleep 5 -# Passwort über filebrowser-CLI setzen (zuverlässiger als Log-Parsing) -docker exec filebrowser /filebrowser -d /database/filebrowser.db users update admin --password "\${FB_PASS}" > /dev/null 2>&1 \ - || docker exec filebrowser /filebrowser users update admin --password "\${FB_PASS}" -d /database/filebrowser.db > /dev/null 2>&1 \ - || warn "Filebrowser Passwort konnte nicht automatisch gesetzt werden" +# Warten bis Filebrowser das Zufallspasswort geloggt hat (Log-Format ist konstant) +for i in \$(seq 1 10); do + FB_PASS=\$(docker logs filebrowser 2>&1 | grep -oP "(?<=randomly generated password: )\S+" | tail -1) + [[ -n "\$FB_PASS" ]] && break + sleep 2 +done +if [[ -z "\$FB_PASS" ]]; then + warn "Passwort nicht im Log gefunden – manuell prüfen: docker logs filebrowser" + FB_PASS="siehe: docker logs filebrowser" +fi ok "Filebrowser gestartet – Passwort: \${FB_PASS}" echo "FILEBROWSER_PASS=\${FB_PASS}" >> /root/ft_install_info.txt