Bereitstellung des MagicTradeBot-Bots über Docker oder Systemd

Diese Anleitung erklärt, wie Sie die MagicTradeBot Bot-Instanz mit zwei unterstützten Methoden kompilieren und bereitstellen: Docker für containerisierte Umgebungen und Systemd für die traditionelle Linux-Dienstverwaltung.


🛠️ 1. Kompilieren der Bot-Instanz (Golang)

Der Kern des Bots von MagicTradeBot ist in Go geschrieben und kann für verschiedene Umgebungen kompiliert werden.

🔧 Lokal kompilieren (Systemd)

go build -o magictradebot main.go

Dies erzeugt eine ausführbare Datei namens magictradebot im aktuellen Verzeichnis.

🐳 Kompilieren und Bauen für Docker

Erstellen Sie eine Dockerfile im Projektstammverzeichnis:

# Dockerfile
FROM golang:1.22-alpine AS builder

WORKDIR /app
COPY . .

RUN go build -o magictradebot main.go

# Final image
FROM alpine:latest

WORKDIR /app
COPY --from=builder /app/magictradebot .
COPY config.yaml .

CMD ["./magictradebot"]

Dann das Image bauen:

docker build -t magictradebot-bot-instance .

🐳 2. Bot-Instanz mit Docker bereitstellen

Schritt 1: Konfiguration vorbereiten

Stellen Sie sicher, dass sich Ihre config.yaml im selben Verzeichnis befindet oder zur Laufzeit eingebunden wird.

Schritt 2: Container ausführen

docker run -d \
  --name=bot-bybit-01 \
  -v $(pwd)/config.yaml:/app/config.yaml \
  --restart=always \
  magictradebot-bot-instance

Verwenden Sie docker logs -f bot-bybit-01, um Echtzeit-Protokolle anzuzeigen.

Optional: Docker Compose

version: '3.9'

services:
  tradingbot:
    image: magictradebot-bot-instance
    container_name: bot-bybit-01
    restart: always
    volumes:
      - ./config.yaml:/app/config.yaml

🧩 3. Bot-Instanz mit Systemd bereitstellen

Schritt 1: Ausführbare Datei verschieben

sudo mv magictradebot /usr/local/bin/
sudo chmod +x /usr/local/bin/magictradebot

Schritt 2: Systemd-Dienstdatei erstellen

sudo nano /etc/systemd/system/magictradebot.service
[Unit]
Description=MagicTradeBot Instanz
After=network.target

[Service]
ExecStart=/usr/local/bin/magictradebot
WorkingDirectory=/opt/magictradebot
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
User=ubuntu

[Install]
WantedBy=multi-user.target

Schritt 3: Dienst aktivieren und starten

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable magictradebot
sudo systemctl start magictradebot

Protokolle anzeigen

journalctl -u magictradebot -f

✅ Empfehlungen

  • 📁 Verwenden Sie eine separate config.yaml pro Bot-Instanz zur Skalierung
  • 🔐 Verwenden Sie HTTPS für APIs und verwalten Sie Geheimnisse über Umgebungsvariablen
  • 📦 Bevorzugen Sie Docker für Isolation und Portabilität
  • 🛡️ Überwachen Sie die Bot-Aktivität mit integrierten Logging-Tools (z. B. LogDNA, Grafana Loki)

📎 Related Topics