diff --git a/scripts/proxmox-vpn-install.sh b/scripts/proxmox-vpn-install.sh index 9163bc7..67bd69f 100644 --- a/scripts/proxmox-vpn-install.sh +++ b/scripts/proxmox-vpn-install.sh @@ -255,13 +255,23 @@ write_vpn_config() { success ".env geschrieben (chmod 600)" # docker-compose.yml schreiben + # Architektur: Gluetun als HTTP-Proxy (Port 8888) + # → Freqtrade behält eigenes Netzwerk (WebUI bleibt auf LXC-IP erreichbar) + # → Nur Binance-Traffic läuft via HTTPS_PROXY durch den VPN-Tunnel pct exec "$SEL_ID" -- bash -c "cat > ${FT_DIR}/docker-compose.yml << 'COMPOSEEOF' # Freqtrade + NordVPN/Gluetun | generiert von proxmox-vpn-install.sh -# Netzwerk: [Freqtrade] -> [Gluetun] -> NordVPN -> Internet -# WebUI: http://LXC-IP:${FT_PORT} +# +# Architektur: +# Freqtrade (eigenes Netz, WebUI :${FT_PORT} lokal erreichbar) +# |-- Binance API --> HTTP_PROXY --> Gluetun --> NordVPN --> Internet +# +# WebUI bleibt erreichbar unter: http://LXC-IP:${FT_PORT} services: + # ── VPN-Proxy ────────────────────────────────────────────────────────────── + # Gluetun läuft als HTTP-Proxy auf Port 8888. + # Freqtrade schickt nur den Exchange-Traffic darüber. gluetun: image: qmcgaw/gluetun:latest container_name: gluetun @@ -276,8 +286,13 @@ services: - OPENVPN_USER=\${OPENVPN_USER} - OPENVPN_PASSWORD=\${OPENVPN_PASSWORD} ${VPN_SERVER_LINE} + # HTTP-Proxy aktivieren – darüber leitet Freqtrade den Binance-Traffic + - HTTPPROXY=on + - HTTPPROXY_LOG=off + - HTTPPROXY_STEALTH=on ports: - - \"0.0.0.0:${FT_PORT}:8080\" + # Kein WebUI-Port hier – Freqtrade hat sein eigenes Netzwerk + - \"127.0.0.1:8888:8888\" volumes: - gluetun_data:/gluetun healthcheck: @@ -287,14 +302,24 @@ ${VPN_SERVER_LINE} retries: 5 start_period: 45s + # ── Freqtrade ─────────────────────────────────────────────────────────────── + # Eigenes Netzwerk → WebUI bleibt auf LXC-IP:${FT_PORT} erreichbar. + # Exchange-Traffic geht via HTTP_PROXY durch Gluetun. freqtrade: image: freqtradeorg/freqtrade:stable restart: unless-stopped container_name: freqtrade - network_mode: \"container:gluetun\" depends_on: gluetun: condition: service_healthy + ports: + - \"0.0.0.0:${FT_PORT}:8080\" + environment: + # Nur HTTPS-Traffic (Binance API) läuft durch den VPN-Proxy + - HTTPS_PROXY=http://gluetun:8888 + - HTTP_PROXY=http://gluetun:8888 + # Lokale Verbindungen (WebUI, DB) NICHT durch Proxy + - NO_PROXY=localhost,127.0.0.1 volumes: - \"./user_data:/freqtrade/user_data\" command: > @@ -405,14 +430,21 @@ show_result() { echo -e "${BOLD}${GREEN}║ ✅ NordVPN erfolgreich eingerichtet! ║${NC}" echo -e "${BOLD}${GREEN}╚══════════════════════════════════════════╝${NC}" echo - echo -e " ${BOLD}FreqUI:${NC} ${CYAN}http://${LXC_IP}:${FT_PORT}${NC}" - echo -e " ${BOLD}NordVPN IP:${NC} ${BOLD}${GREEN}${VPN_IP}${NC}" + echo -e " ${BOLD}FreqUI (lokal erreichbar):${NC}" + echo -e " ${CYAN}http://${LXC_IP}:${FT_PORT}${NC}" + echo + echo -e " ${BOLD}Binance-Traffic läuft über NordVPN:${NC}" + echo -e " Ausgehende IP: ${BOLD}${GREEN}${VPN_IP}${NC}" echo echo -e " ${BOLD}${YELLOW}⚠ Binance API-Key anpassen:${NC}" echo -e " ${YELLOW}Binance → API Management → IP-Beschränkung${NC}" - echo -e " ${YELLOW}Die NordVPN-IP eintragen: ${BOLD}${VPN_IP}${NC}" + echo -e " ${YELLOW}Diese NordVPN-IP eintragen: ${BOLD}${VPN_IP}${NC}" echo - echo -e " ${BOLD}Nützliche Befehle (im LXC: pct enter ${SEL_ID}):${NC}" + echo -e " ${BOLD}Architektur:${NC}" + echo -e " ${CYAN}WebUI${NC} → direkt über LXC-IP (kein VPN)" + echo -e " ${CYAN}Binance${NC} → HTTP_PROXY → Gluetun → NordVPN" + echo + echo -e " ${BOLD}Nützliche Befehle (im LXC):${NC}" echo -e " ${CYAN}docker exec gluetun wget -qO- https://ipinfo.io/ip${NC} # VPN-IP prüfen" echo -e " ${CYAN}docker logs gluetun${NC} # VPN-Logs" echo -e " ${CYAN}docker logs freqtrade${NC} # Freqtrade-Logs"