diff --git a/README.md b/README.md index 711e33b..62ec430 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,43 @@ # 🚀 Freqtrade Proxmox Deployment Guide -Dieser Leitfaden ist eine getestete, praxisnahe Anleitung, um einen Freqtrade Krypto-Bot in einem Proxmox LXC Container stabil, sicher und komfortabel aufzusetzen. +Dieser Leitfaden ist eine getestete Anleitung, um einen Freqtrade Krypto-Bot in einem Proxmox LXC Container stabil, sicher und komfortabel aufzusetzen. > ⚠️ **Haftungsausschluss (Disclaimer)** > Dieses Projekt dient ausschließlich zu **Lern- und Testzwecken**. -> * **Keine Finanzberatung:** Die Nutzung von Trading-Bots wie Freqtrade erfolgt auf eigenes Risiko. Ich übernehme keine Haftung für finanzielle Verluste. -> * **Keine Gewährleistung:** Die Skripte und Anleitungen wurden nach bestem Wissen erstellt, können aber Fehler enthalten. -> * **Eigenverantwortung:** Du bist selbst dafür verantwortlich, Backups deiner Daten und Konfigurationen zu erstellen. Handle niemals mit Geld, das du nicht verlieren kannst! +> * **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 laufender Proxmox-Server & aktive Internetverbindung. --- ## 🏗️ 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: +Ö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! +**2. Installations-Wizard** +* **Type:** Default Install. +* **Storage:** Speicherort für den LXC wählen (z.B. `local`). +* **Portainer:** Mit Enter überspringen (N). +* **Expose Docker TCP socket?** Zwingend **n** (No). -**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: +**3. IP & Absicherung** +* Notiere die IP am Ende: `✔️ Network Connected: [DEINE_IP]`. +* Gehe in die **>_ Konsole** des neuen LXC und setze ein Root-Passwort: ```bash passwd root ``` -*(Passwort eingeben -> Enter -> Wiederholen -> Enter. Die Eingabe ist unsichtbar!)* --- -## 📁 Phase 2: Filebrowser installieren (Optional, aber empfohlen) - -Damit du Configs und Strategien bequem über den Browser bearbeiten kannst, installieren wir einen Web-Dateimanager. +## 📁 Phase 2: Filebrowser installieren (Optional) **1. Ordnerstruktur anlegen** ```bash @@ -54,89 +46,77 @@ mkdir -p /opt/docker-projekte/filebrowser/database mkdir -p /opt/docker-projekte/freqtrade/ ``` -**2. Docker Compose für Filebrowser erstellen** +**2. Docker Compose 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: "0:0" - 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`)* +*(Inhalt einfügen: Siehe vorherige Version)* -**3. Starten und Initial-Passwort auslesen** +**3. Starten und Initial-Passwort** +Führe den Start aus: ```bash docker compose up -d +``` +**Warte nun ca. 10 Sekunden**, damit die Datenbank im Hintergrund initialisiert werden kann. Rufe dann das Passwort ab: +```bash docker logs filebrowser ``` -Suche im Log nach: `User 'admin' initialized with randomly generated password: ...` +Suche die Zeile: `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)! +**4. Login & Passwort-Änderung** +* Web-UI öffnen: `http://DEINE-IP-VOM-LXC:8081` +* Login mit `admin` und dem Log-Passwort. +* **Passwort ändern:** Klicke unten links auf das **Zahnrad (Settings)**, dann auf den Benutzernamen **admin** und ändere rechts im Feld das Passwort (min. 12 Zeichen). Speichern nicht vergessen! --- ## 📈 Phase 3: Freqtrade Installation +*Weiter geht es direkt auf der **Konsole des LXC**.* -Jetzt kommt das Herzstück. Wir laden die offizielle Config und initialisieren den Bot. - -**1. Basis herunterladen und anpassen** -Wir biegen die lokale IP sofort so um, dass die Web-UI von außen erreichbar ist. +**1. Basis einrichten** ```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** +**2. Verzeichnisse & Config** ```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): - -* **Enable Dry-run (simulated trades)?** `Y` *(Immer erst ohne echtes Geld testen!)* -* **Insert your stake currency:** `USDC` oder `USDT` *(USDC ist für Europa oft einfacher)* -* **Insert your stake amount:** `unlimited` -* **Insert max_open_trades:** `3` *(Guter Startwert)* +**3. Der Setup-Wizard (Wichtige Punkte)** +* **Dry-run?** `Y` +* **Stake currency:** `USDC` (Empfohlen für EU) +* **Stake amount:** `unlimited` +* **Max_open_trades:** `3` * **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) - * *Chat ID:* Vom @userinfobot (Dort `/start` drücken) -* **Enable the Rest API (FreqUI)?** `y` *(Zwingend für die Web-Oberfläche!)* +* **Timeframe:** `5m` (oder dein Wunschwert) +* **Exchange:** `binance` +* **Perpetual Swaps?** `n` +* **Telegram:** `y` (Token & Chat ID bereithalten) +* **Rest API (FreqUI)?** `y` * **Listen Address:** `0.0.0.0` -* **api-server username:** `freqtrader` *(Oder eigener Login-Name)* -* **api-server password:** `DeinSicheresPasswort` +* **Api-server username:** Wähle einen Namen (z.B. `freqtrader`) +* **Api-server password:** Dein Login-Passwort für die WebUI -**4. Den Bot starten** -Die Grundkonfiguration ist abgeschlossen. Lass ihn von der Leine: +**4. Binance API-Key hinterlegen (WICHTIG)** +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", +``` +**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. **Sicherheit:** Aktiviere **NUR** "Lesezugriff" und "Spot- und Margin-Handel". Alles andere bleibt aus! +4. **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/)). + +**5. Starten** ```bash docker compose up -d ``` @@ -145,16 +125,12 @@ docker compose up -d ## 🎮 Phase 4: FreqUI Bedienung & Updates -**Zugriff auf das Freqtrade Dashboard:** -* Öffne im Browser: `http://DEINE-IP-VOM-LXC:8080` -* Klicke oben rechts auf **Login**. -* **Bot Name:** Ein beliebiger Name für dein Dashboard -* **API Url:** Sollte bereits vorausgefüllt sein (`http://DEINE-IP-VOM-LXC:8080`) -* **Username & Passwort:** Die Daten, die du im Wizard vergeben hast. +**Web-Interface:** `http://DEINE-IP-VOM-LXC:8080/` -**Änderungen übernehmen:** -Immer wenn du über deinen Filebrowser die `config.json` oder eine `.py` Strategie geändert hast, musst du den Bot neu starten, damit er die neuen Regeln lernt: +**Ä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 hast, nutze die LXC-Konsole: ```bash cd /opt/docker-projekte/freqtrade docker compose down && docker compose up -d -``` +``` \ No newline at end of file