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.)