Implantação do bot MagicTradeBot via Docker ou Systemd

Este guia explica como compilar e implantar a Instância do Bot MagicTradeBot usando dois métodos suportados: Docker para ambientes containerizados e Systemd para gerenciamento de serviços em sistemas Linux tradicionais.


🛠️ 1. Compilando a Instância do Bot (Golang)

O núcleo do bot do MagicTradeBot é escrito em Go e pode ser compilado para diferentes ambientes.

🔧 Compilar para uso local (Systemd)

go build -o magictradebot main.go

Isso gerará um executável chamado magictradebot no diretório atual.

🐳 Compilar e construir para Docker

Crie um arquivo Dockerfile na raiz do seu projeto:

# Dockerfile
FROM golang:1.22-alpine AS builder

WORKDIR /app
COPY . .

RUN go build -o magictradebot main.go

# Imagem final
FROM alpine:latest

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

CMD ["./magictradebot"]

Em seguida, construa a imagem:

docker build -t magictradebot-bot-instance .

🐳 2. Implantando a Instância do Bot com Docker

Passo 1: Preparar o arquivo de configuração

Garanta que seu arquivo config.yaml esteja no mesmo diretório ou seja montado no momento da execução.

Passo 2: Executar o container

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

Use docker logs -f bot-bybit-01 para visualizar os logs em tempo real.

Opcional: 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. Implantando a Instância do Bot com Systemd

Passo 1: Mover o executável

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

Passo 2: Criar o arquivo de unidade Systemd

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

Passo 3: Ativar e iniciar o serviço

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

Verificar logs

journalctl -u magictradebot -f

✅ Recomendações

  • 📁 Mantenha um config.yaml separado para cada instância para escalabilidade
  • 🔐 Use HTTPS para APIs e variáveis de ambiente para gerenciamento seguro de credenciais
  • 📦 Prefira Docker para isolamento e portabilidade
  • 🛡️ Monitore a atividade do bot com ferramentas de log como LogDNA, Grafana Loki, etc.

📎 Related Topics