Questa guida spiega come compilare e distribuire un’istanza del bot MagicTradeBot utilizzando due metodi supportati: Docker per ambienti containerizzati e Systemd per la gestione tradizionale dei servizi su Linux.
🛠️ 1. Compilazione dell'istanza bot (Golang)
Il core del bot di MagicTradeBot è scritto in Go e può essere compilato per diversi ambienti.
🔧 Compilare per uso locale (Systemd)
go build -o magictradebot main.go
Questo produrrà un eseguibile chiamato magictradebot
nella directory corrente.
🐳 Compilare e creare per Docker
Crea un file Dockerfile
nella root del tuo progetto:
# Dockerfile
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o magictradebot main.go
# Immagine finale
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/magictradebot .
COPY config.yaml .
CMD ["./magictradebot"]
Quindi costruisci l'immagine:
docker build -t magictradebot-bot-instance .
🐳 2. Distribuzione dell'istanza bot tramite Docker
Passaggio 1: Prepara la configurazione
Assicurati che il file config.yaml
si trovi nella stessa directory o venga montato durante l'esecuzione.
Passaggio 2: Avvia il container
docker run -d \
--name=bot-bybit-01 \
-v $(pwd)/config.yaml:/app/config.yaml \
--restart=always \
magictradebot-bot-instance
Usa docker logs -f bot-bybit-01
per visualizzare i log in tempo reale.
Facoltativo: 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. Distribuzione dell'istanza bot tramite Systemd
Passaggio 1: Sposta l'eseguibile
sudo mv magictradebot /usr/local/bin/
sudo chmod +x /usr/local/bin/magictradebot
Passaggio 2: Crea un file di servizio Systemd
sudo nano /etc/systemd/system/magictradebot.service
[Unit]
Description=Istanza 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
Passaggio 3: Abilita e avvia il servizio
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable magictradebot
sudo systemctl start magictradebot
Controlla i log
journalctl -u magictradebot -f
✅ Raccomandazioni
- 📁 Utilizza un file
config.yaml
separato per ogni istanza per facilitare la scalabilità - 🔐 Usa HTTPS per l’API e gestisci i segreti tramite variabili d’ambiente sicure
- 📦 Preferisci Docker per isolamento e portabilità
- 🛡️ Monitora l'attività del bot tramite strumenti di logging integrati (LogDNA, Grafana Loki, ecc.)