Déploiement du bot MagicTradeBot via Docker ou Systemd

Ce guide explique comment compiler et déployer une instance de bot MagicTradeBot en utilisant deux méthodes prises en charge : Docker pour les environnements conteneurisés et Systemd pour la gestion classique des services sous Linux.


🛠️ 1. Compilation de l'instance de bot (Golang)

Le cœur du bot MagicTradeBot est écrit en Go et peut être compilé pour différents environnements.

🔧 Compiler en local (Systemd)

go build -o magictradebot main.go

Cette commande produit un exécutable nommé magictradebot dans le répertoire courant.

🐳 Compiler et construire pour Docker

Créez un fichier Dockerfile à la racine de votre projet :

# Dockerfile
FROM golang:1.22-alpine AS builder

WORKDIR /app
COPY . .

RUN go build -o magictradebot main.go

# Image finale
FROM alpine:latest

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

CMD ["./magictradebot"]

Ensuite, construisez l’image :

docker build -t magictradebot-bot-instance .

🐳 2. Déploiement d'une instance de bot via Docker

Étape 1 : Préparer la configuration

Assurez-vous que le fichier config.yaml se trouve dans le même répertoire ou est monté pendant l'exécution.

Étape 2 : Lancer le conteneur

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

Utilisez docker logs -f bot-bybit-01 pour consulter les journaux en temps réel.

Optionnel : 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. Déploiement d'une instance de bot via Systemd

Étape 1 : Déplacer l'exécutable

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

Étape 2 : Créer un fichier de service Systemd

sudo nano /etc/systemd/system/magictradebot.service
[Unit]
Description=Instance MagicTradeBot
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

Étape 3 : Activer et démarrer le service

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

Consulter les journaux

journalctl -u magictradebot -f

✅ Recommandations

  • 📁 Utilisez un fichier config.yaml distinct pour chaque instance pour une meilleure scalabilité
  • 🔐 Utilisez HTTPS pour les API et gérez les secrets via des variables d’environnement sécurisées
  • 📦 Préférez Docker pour l’isolation et la portabilité
  • 🛡️ Surveillez l’activité du bot avec des outils de journalisation intégrés (LogDNA, Grafana Loki, etc.)

📎 Related Topics