From db38c686034004e8473b81d15eb0602c5393ad56 Mon Sep 17 00:00:00 2001 From: olli1986 Date: Sat, 18 Apr 2026 20:23:18 +0200 Subject: [PATCH] docs: Update --- README.md | 128 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 88 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 1cec91b..93d7c5e 100644 --- a/README.md +++ b/README.md @@ -16,46 +16,49 @@ Dieser Leitfaden ist eine getestete Anleitung, um einen Freqtrade Krypto-Bot in ## 🏗️ 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** -* **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). +**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 & Absicherung** -* Notiere die IP am Ende: `✔️ Network Connected: [DEINE_IP]`. -* Gehe in die **>_ Konsole** des neuen LXC und setze ein Root-Passwort: +**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) -## Phase 2: filebrowser installieren - optional -Damit du einfacher deine Dateien bearbeiten kannst empfehle ich dir den filebrowser zu installieren. +Damit du Configs und Strategien bequem über den Browser bearbeiten kannst, installieren wir einen Web-Dateimanager. +**1. Ordnerstruktur anlegen** ```bash -# 1. Erstelle das Verzeichnis für alle Docker-Sachen mkdir -p /opt/docker-projekte/filebrowser/config - -# 2. Wechsel in den Ordner (deine neue Home-Base) -cd /opt/docker-projekte/filebrowser - -# 3. Freqtrade Ordner erstellen -mkdir /opt/docker-projekte/freqtrade/ +mkdir -p /opt/docker-projekte/filebrowser/database +mkdir -p /opt/docker-projekte/freqtrade/ ``` -dann die docker-compose.yml erstellen + +**2. Docker Compose für Filebrowser erstellen** ```bash +cd /opt/docker-projekte/filebrowser nano docker-compose.yml ``` -dort das einfügen -```bash +Füge diesen Block exakt so ein: +```yaml services: filebrowser: image: filebrowser/filebrowser:latest @@ -76,22 +79,22 @@ services: ] restart: unless-stopped ``` +*(Speichern mit `Strg+O` -> `Enter`, Schließen mit `Strg+X`)* -jetzt führst du das aus, damit lädt er den container herunter und startet ihn. +**3. Starten und Initial-Passwort auslesen** ```bash docker compose up -d -``` -um das initial Passwort heraus zubekommen gebe folgendes ein -```bash docker logs filebrowser ``` -dort ist eine Zeile mit deinem Passwort -User 'admin' initialized with randomly generated password: **DEIN PASSWORT** +Suche im Log nach: `User 'admin' initialized with randomly generated password: ...` -**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! +**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! --- @@ -100,20 +103,33 @@ User 'admin' initialized with randomly generated password: **DEIN PASSWORT** *Das Herzstück.* -**1. Basis einrichten** +[!NOTE] +>Wenn du den Filebrowser aus [Phase 2](#phase2) 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 ``` -**2. Der Setup-Wizard** +**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` oder `USDT` *(USDC ist für Europa oft einfacher)* +* **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 @@ -122,7 +138,7 @@ Beantworte die Fragen des Assistenten wie folgt (du kannst diese Werte später * **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) + * *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` @@ -132,7 +148,24 @@ Beantworte die Fragen des Assistenten wie folgt (du kannst diese Werte später Die Grund Konfiguration ist fertig -**3. Binance API-Key hinterlegen (WICHTIG)** +**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": { @@ -140,11 +173,17 @@ Bevor der Bot live handeln kann, musst du deine API-Keys in der `user_data/confi "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. **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/)). +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 @@ -167,8 +206,17 @@ jetzt noch die login Daten für deinen Bot die du in der Bot config erstellt has **Ä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: +* **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 -``` \ No newline at end of file +``` + +--- + +## 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)