174 lines
6.5 KiB
Markdown
174 lines
6.5 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
|
|
```
|
|
|
|
**3. Der Setup-Wizard**
|
|
wenn du über den filebrowser die dateien wie config und strategie änderst kannst du alle punkte einfach mit enter alle bestätigen
|
|
|
|
? Do you want to enable Dry-run (simulated trades)? (Y/n) > Y
|
|
? Please insert your stake currency: USDT > USDC (wichtig für Europa)
|
|
? Please insert your stake amount (Number or 'unlimited'): > unlimited
|
|
? Please insert max_open_trades (Integer or -1 for unlimited open trades): > 3
|
|
? Time (Use arrow keys) > Override in configuration. (pfeiltaste unten, enter)
|
|
? Please insert your desired timeframe (e.g. 5m): > 5m (je nachdem was du möchtest)
|
|
? Please insert your display Currency for reporting (leave empty to disable FIAT conversion): > EUR
|
|
? Select exchange (Use arrow keys) > binance
|
|
? Do you want to trade Perpetual Swaps (perpetual futures)? (y/N) > n
|
|
? Do you want to enable Telegram? (y/N) > y (falls benötigt)
|
|
? Insert Telegram token > token von BotFather dort /newbot wichtig name muss auf Bot enden
|
|
? Insert Telegram chat id > in Telegram @userinfobot suchen, im Chat dann /start oben siehst du dann deine chat id
|
|
? Do you want to enable the Rest API (includes FreqUI)? (y/N) > y (wenn du die WebUI von Freqtrade nutzen möchtest)
|
|
? Insert Api server Listen Address (0.0.0.0 for docker, otherwise best left untouched) > 0.0.0.0
|
|
? Insert api-server username > freqtrader (Wähle einen Namen (z.B. `freqtrader`)
|
|
? Insert api-server password > login Passwort (Dein Login-Passwort für die WebUI)
|
|
|
|
Die Grund Konfiguration ist fertig
|
|
|
|
|
|
**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
|
|
```
|
|
|
|
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
|
|
``` |