Dateien nach "scripts" hochladen

This commit is contained in:
2026-04-22 12:57:39 +02:00
parent 15c52483fa
commit e518420194
+40 -3
View File
@@ -7,6 +7,7 @@
# - Fragt NordVPN-Credentials ab & pausiert für custom.conf
# - Ermittelt automatisch das lokale Subnetz
# - Schreibt docker-compose.yml & startet den Stack
# - NEU: Integriert den VPN-Ordner automatisch in den Filebrowser
# =============================================================================
set -euo pipefail
@@ -138,7 +139,7 @@ collect_and_wait() {
NORD_PASS="$REPLY"
echo -e "\n${BOLD}${CYAN}=== WICHTIGER SCHRITT ===${NC}"
echo -e "Bitte öffne nun auf deinem Server (oder via SFTP) die Datei im Container:"
echo -e "Bitte öffne nun auf deinem Server (oder via SFTP/Filebrowser) die Datei im Container:"
echo -e " ${BOLD}/opt/docker-projekte/VPN/custom.conf${NC}"
echo -e "Füge dort den kompletten Text deiner NordVPN-Konfigurationsdatei (.ovpn) ein und speichere."
echo -e "Tipp: Du kannst auch in einer zweiten Konsole ausführen:"
@@ -225,11 +226,44 @@ COMPOSEEOF"
sleep 5
success "Deployment abgeschlossen!"
}
# ── Filebrowser anpassen ───────────────────────────────────────────────────────
update_filebrowser() {
step "Filebrowser aktualisieren"
local FB_DIR="/opt/docker-projekte/filebrowser"
local FB_YML="${FB_DIR}/docker-compose.yml"
# Prüfen, ob der Filebrowser überhaupt da ist
if pct exec "$SEL_ID" -- bash -c "[ -f ${FB_YML} ]"; then
info "Filebrowser gefunden. Prüfe Konfiguration..."
# Prüfen, ob der Mount schon existiert, um Doppel-Einträge zu vermeiden
if pct exec "$SEL_ID" -- bash -c "grep -q '/opt/docker-projekte/VPN:/srv/VPN' ${FB_YML}"; then
success "VPN-Ordner ist bereits im Filebrowser gemountet."
else
info "Füge VPN-Mountpunkt zur docker-compose.yml hinzu..."
# Fügt die Zeile exakt nach 'volumes:' ein
pct exec "$SEL_ID" -- bash -c "sed -i '/volumes:/a \\ - /opt/docker-projekte/VPN:/srv/VPN' ${FB_YML}"
success "Konfiguration ergänzt."
info "Starte Filebrowser neu..."
pct exec "$SEL_ID" -- bash -c "cd ${FB_DIR} && docker compose down && docker compose up -d"
success "Filebrowser ist neugestartet und hat jetzt Zugriff auf den VPN-Ordner!"
fi
else
info "Kein Filebrowser unter ${FB_DIR} gefunden. Überspringe diesen Schritt."
fi
}
# ── Ergebnis anzeigen ──────────────────────────────────────────────────────────
show_result() {
# VPN IP Check
local VPN_IP
VPN_IP=$(pct exec "$SEL_ID" -- bash -c "docker exec gluetun wget -qO- https://ifconfig.me 2>/dev/null" || echo "FEHLER")
local SUBNET
SUBNET=$(pct exec "$SEL_ID" -- bash -c "ip -o -f inet addr show eth0 | awk '{print \$4}' | sed 's/\.[0-9]\{1,3\}\//.0\//'" 2>/dev/null || echo "Lokales Netz")
echo
echo -e "${BOLD}${GREEN}╔══════════════════════════════════════════╗${NC}"
echo -e "${BOLD}${GREEN}║ ✅ Setup erfolgreich abgeschlossen! ║${NC}"
@@ -237,6 +271,7 @@ COMPOSEEOF"
echo -e " Neue externe VPN-IP des Bots: ${CYAN}${VPN_IP}${NC}"
echo -e " Dein lokales Subnetz (${SUBNET}) wurde in der Firewall freigegeben."
echo -e " Das Freqtrade-Webinterface bleibt über Port 8080 erreichbar."
echo -e " Der Ordner 'VPN' steht dir jetzt in deinem Filebrowser zur Verfügung!"
}
# ── Hauptprogramm ──────────────────────────────────────────────────────────────
@@ -247,6 +282,8 @@ main() {
setup_system
collect_and_wait
deploy_stack
update_filebrowser
show_result
}
main "$@"