Files
freqtrade-proxmox-deploy/README.md
T
2026-04-18 09:47:33 +02:00

161 lines
6.2 KiB
Markdown

# 🚀 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.
> ⚠️ **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!
---
## 📋 Voraussetzungen
* Ein laufender Proxmox-Server
* Eine aktive Internetverbindung für den Host
---
## 🏗️ 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)
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/
```
**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: "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`)*
**3. Starten und Initial-Passwort auslesen**
```bash
docker compose up -d
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)!
---
## 📈 Phase 3: Freqtrade Installation
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.
```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):
* **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)*
* **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!)*
* **Listen Address:** `0.0.0.0`
* **api-server username:** `freqtrader` *(Oder eigener Login-Name)*
* **api-server password:** `DeinSicheresPasswort`
**4. Den Bot starten**
Die Grundkonfiguration ist abgeschlossen. Lass ihn von der Leine:
```bash
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.
**Ä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:
```bash
cd /opt/docker-projekte/freqtrade
docker compose down && docker compose up -d
```