# 🚀 Freqtrade Proxmox Deployment Guide Dieser Leitfaden ist eine getestete Anleitung, um einen Freqtrade Krypto-Bot in einem Proxmox LXC Container stabil, sicher und komfortabel aufzusetzen. > [!WARNING] > ⚠️ **Haftungsausschluss (Disclaimer)** > Dieses Projekt dient ausschließlich zu **Lern- und Testzwecken**. > * **Keine Finanzberatung:** Trading-Bots wie Freqtrade erfolgen auf eigenes Risiko. Ich übernehme keine Haftung für Verluste. > * **Eigenverantwortung:** Handle nur mit Geld, das du physisch und psychisch verlieren kannst! --- ## 📋 Voraussetzungen * Ein laufender Proxmox-Server * Eine aktive Internetverbindung für den Host * Ein Benutzerkonto bei [Binance (Affiliate)](https://www.binance.com/register?ref=175484526), wenn du mit `echtem Geld` arbeiten willst. --- ## 🏗️ Phase 1: Proxmox Host Vorbereitung (Docker LXC) Für ein sauberes Setup nutzen wir ein Community-Skript, das uns einen perfekten Docker-Container als Basis erstellt. **1. Skript ausführen** Öffne die Proxmox-Shell (deines Nodes) und führe diesen Befehl aus: ```bash bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/docker.sh)" ``` **2. Installations-Wizard beantworten** * **Type:** Wähle **Default Install**. * **Storage:** Wähle den Laufwerks-Pool für den LXC (meistens `local` oder `local-lvm`). * **Portainer (Optional):** Mit Enter überspringen (N), außer du möchtest eine zusätzliche Web-UI zur reinen Docker-Verwaltung. * **Expose Docker TCP socket (insecure)?** Hier zwingend **n** (No) wählen und mit Enter bestätigen! **3. IP notieren & absichern** * Am Ende der Installation erscheint die Zeile `✔️ Network Connected: [DEINE_IP]`. **Notiere dir diese IP!** * Gehe in Proxmox links auf deinen neuen Docker LXC und wechsle in die **>_ Konsole**. * Da es hier um Finanzen geht, setzen wir sofort ein sicheres Root-Passwort: ```bash passwd root ``` *(Passwort eingeben -> Enter -> Wiederholen -> Enter. Die Eingabe ist unsichtbar!)* --- ## 📁 Phase 2: Filebrowser installieren (Optional, aber empfohlen) *Weiter geht es direkt auf der **Konsole des LXC**.* Damit du Configs und Strategien bequem über den Browser bearbeiten kannst, installieren wir einen Web-Dateimanager. **1. Ordnerstruktur anlegen** ```bash mkdir -p /opt/docker-projekte/filebrowser/config mkdir -p /opt/docker-projekte/filebrowser/database mkdir -p /opt/docker-projekte/freqtrade/ chown -R 1000:1000 /opt/docker-projekte/ ``` **2. Docker Compose für Filebrowser erstellen** ```bash cd /opt/docker-projekte/filebrowser nano docker-compose.yml ``` Füge diesen Block exakt so ein: ```yaml services: filebrowser: image: filebrowser/filebrowser:latest container_name: filebrowser user: "1000:1000" ports: - "8081:8080" volumes: - /opt/docker-projekte:/srv - /opt/docker-projekte/filebrowser/database:/database - /opt/docker-projekte/filebrowser/config:/config command: [ "--address", "0.0.0.0", "--port", "8080", "--database", "/database/filebrowser.db", "--root", "/srv", "--noauth=false" ] restart: unless-stopped ``` *(Speichern mit `Strg+O` -> `Enter`, Schließen mit `Strg+X`)* **3. Starten und Initial-Passwort auslesen** ```bash docker compose up -d ``` kurz ein paar Sekunden warten und folgendes eingeben: ```bash docker logs filebrowser ``` Suche im Log nach: `User 'admin' initialized with randomly generated password: ...` **4. Login** * Öffne im Browser: `http://DEINE-IP-VOM-LXC:8081` * Logge dich mit `admin` und dem zufälligen Passwort ein. * **Wichtig:** Ändere das Passwort sofort in den Einstellungen (Zahnrad) auf ein sicheres Passwort (min. 12 Zeichen)! * **Passwort ändern:** Klicke oben links auf deinen Benutzernamen **admin**, dann siehst du rechts die Felder um dein Passwort zu ändern (min. 12 Zeichen). Speichern nicht vergessen! --- ## 📈 Phase 3: Freqtrade Installation *Weiter geht es direkt auf der **Konsole des LXC**.* *Das Herzstück.* > [!NOTE] > Wenn du den Filebrowser aus [Phase 2](#-phase-2-filebrowser-installieren-optional-aber-empfohlen) nicht nutzen möchtest führe bitte folgendes aus > ```bash > mkdir -p /opt/docker-projekte/freqtrade/ > ```` **1. Basis herunterladen und anpassen** Wir biegen die lokale IP sofort so um, dass die Web-UI von außen erreichbar ist. ```bash cd /opt/docker-projekte/freqtrade/ curl https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml sed -i 's/127.0.0.1/0.0.0.0/g' docker-compose.yml ``` **2. Verzeichnisse & Config erstellen** ```bash docker compose run --rm freqtrade create-userdir --userdir user_data docker compose run --rm freqtrade new-config --config user_data/config.json ``` **3. Der Setup-Wizard** Beantworte die Fragen des Assistenten wie folgt (du kannst diese Werte später über den Filebrowser in der `config.json` anpassen): > [!NOTE] > Wenn du die Config eh nur direkt bearbeitest, kannst du auch alles mit enter bestätigen für das Grundgerüst. * **Enable Dry-run (simulated trades)?** `Y` *(Immer erst ohne echtes Geld testen!)* * **Insert your stake currency:** `USDC` *(USDC ist für Europa)* * **Insert your stake amount:** `unlimited` * **Insert max_open_trades:** `3` *(Guter Startwert)* * **Timeframe Strategy:** Pfeiltaste runter zu `Override in configuration` -> Enter * **Insert your desired timeframe:** `5m` *(Je nach Strategie)* * **Display Currency for reporting:** `EUR` * **Select exchange:** `binance` *(Oder deine gewünschte Börse)* * **Trade Perpetual Swaps (Futures)?** `n` *(Zum Start zwingend Spot-Handel wählen!)* * **Enable Telegram?** `y` *(Falls du Benachrichtigungen willst)* * *Token:* Vom BotFather (`/newbot` auf Telegram, der Name muss auf Bot enden) * *Chat ID:* Vom @userinfobot (Dort `/start` drücken) * **Enable the Rest API (FreqUI)?** `y` *(Zwingend für die Web-Oberfläche!)* * **Listen Address:** `0.0.0.0` * **api-server username:** `freqtrader` *(Oder eigener Login-Name)* * **api-server password:** `DeinSicheresPasswort` Die Grund Konfiguration ist fertig **4. Binance API-Key hinterlegen (WICHTIG)** >[!WARNING] >⚠️ ACHTUNG: Hardcore-Modus aktiviert > >Ab hier verlässt du die Testumgebung. Wir reden nicht mehr über Theorie, sondern über echtes Geld auf deinem Binance-Konto. > >Ein Tippfehler im Skript oder eine falsch konfigurierte Strategie kann dein Wallet schneller leeren, als du „Margin Call“ sagen kannst. > >Checkliste vor dem nächsten Schritt: > > Läuft der Bot wirklich stabil im Dry-Run? > > Sind deine API-Berechtigungen auf das Minimum begrenzt (kein Auszahlungsrecht!)? > > Bist du bereit, die Summe X im schlimmsten Fall zu verlieren? > >Überlege genau, was du tust. Ein Klick hier ist endgültig. Bevor der Bot live handeln kann, musst du deine API-Keys in der `user_data/config.json` (über den Filebrowser) eintragen: ```json "exchange": { "name": "binance", "key": "DEIN_API_KEY", "secret": "DEIN_SECRET_KEY", ``` Und den Dry run (Demo) deaktivieren ebenfalls in der `user_data/config.json`. ``` "dry_run": false, ``` **API erstellen auf Binance:** 1. Gehe zu [Binance API Management](https://www.binance.com/de/my/settings/api-management). 2. "API erstellen" -> "Vom System generiert" -> Name vergeben. 3. **IP-Beschränkung:** Wähle "Zugriff auf vertrauenswürdige IPs beschränken" und gib deine öffentliche Internet-IP ein (findest du via [wieistmeineip.de](https://www.wieistmeineip.de/)). 4. **Sicherheit:** Aktiviere **NUR** "Lesezugriff" und "Spot- und Margin-Handel". Alles andere bleibt aus! **4. Starten** ```bash docker compose up -d ``` jetzt ist die WebUI von deinem BOT erreichbar über ```bash http://DEINE-IP-VOM-LXC:8080/ ``` Jetzt gehst du oben rechts auf Login Dort gibst du ein wie der Bot heißen soll API Url sollte http://DEINE-IP-VOM-LXC:8080 sollte schon drin stehen jetzt noch die login Daten für deinen Bot die du in der Bot config erstellt hast ## 🎮 Phase 4: FreqUI Bedienung & Updates **Web-Interface:** `http://DEINE-IP-VOM-LXC:8080/` **Änderungen im laufenden Betrieb:** * **Nur Config-Änderungen:** Du musst nicht auf die Konsole. Gehe in der WebUI oben auf **Trade**, klicke auf das **Kreis-mit-Pfeil Symbol (Reload Config)**. Der Bot lädt die Einstellungen sofort neu. * **Strategie- oder System-Änderungen:** Wenn du Dateien komplett getauscht oder bearbeitet hast, nutze die LXC-Konsole: ```bash cd /opt/docker-projekte/freqtrade docker compose down && docker compose up -d ``` --- > [!WARNING] > ⚠️ **Haftungsausschluss (Disclaimer)** > Dieses Projekt dient ausschließlich zu **Lern- und Testzwecken**. > * **Keine Finanzberatung:** Trading-Bots wie Freqtrade erfolgen auf eigenes Risiko. Ich übernehme keine Haftung für Verluste. > * **Eigenverantwortung:** Handle nur mit Geld, das du physisch und psychisch verlieren kannst! --- ## Referenzen Hier findest du die genutzten Quellen und Ressourcen[^1]. [^1]: **Infrastruktur & Tools:** [Proxmox](https://www.proxmox.com/de/), [Community-Scripts](https://community-scripts.org/), [FileBrowser](https://filebrowser.org), [Portainer](https://docs.portainer.io) **Trading & Exchange:** [Freqtrade](https://www.freqtrade.io/en/stable/), [Binance](https://www.binance.com/de) **KI-Unterstützung:** [Gemini](https://gemini.google.com), [ChatGPT](https://chatgpt.com), [ClaudeAI](https://claude.ai)