Files
freqtrade-proxmox-deploy/README.md
T
2026-04-18 11:57:08 +02:00

174 lines
6.2 KiB
Markdown

# 🚀 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.
> ⚠️ **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 & aktive Internetverbindung.
---
## 🏗️ Phase 1: Proxmox Host Vorbereitung (Docker LXC)
**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**
* **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 & 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
```
---
## Phase 2: filebrowser installieren - optional
Damit du einfacher deine Dateien bearbeiten kannst empfehle ich dir den filebrowser zu installieren.
```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/
```
dann die docker-compose.yml erstellen
```bash
nano docker-compose.yml
```
dort das einfügen
```bash
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
```
jetzt führst du das aus, damit lädt er den container herunter und startet ihn.
```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**
**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**.*
*Das Herzstück.*
**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
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**
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`
Die Grund Konfiguration ist fertig
**3. 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/)).
**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 hast, nutze die LXC-Konsole:
```bash
cd /opt/docker-projekte/freqtrade
docker compose down && docker compose up -d
```