How should I configure MagicTradeBot when running in Docker or cloud servers?

  • Home
  • Documentation
  • How should I configure MagicTradeBot when running in Docker or cloud servers?

MagicTradeBot is built in Rust, which means it compiles into a high-performance, standalone binary.

It supports:

  • ✅ Windows
  • ✅ Linux
  • ✅ macOS
  • ✅ Docker containers
  • ✅ VPS / Cloud servers (AWS, Azure, DigitalOcean, Contabo, etc.)

Because it is a compiled binary, no additional runtime (like Java or Python) is required.


General Configuration Best Practices (All Environments)

Regardless of where you run it:

Do NOT store exchange API credentials inside application.yaml.

Instead, use environment variables for:

  • Exchange API key
  • Exchange API secret
  • Any sensitive configuration

This is especially important for:

  • Docker deployments
  • Cloud servers
  • VPS environments

2️⃣ Validate YAML Before Starting

After editing:

settings/application.yaml

Validate it using: https://www.yamllint.com/

If YAML formatting is incorrect, the bot will stop at startup.


Running MagicTradeBot on Windows

Installation Steps

  1. Download the Windows .exe build.
  2. Extract the ZIP file.
  3. Navigate to the folder.
  4. Double-click the .exe file.

The bot will:

  • Load settings/application.yaml
  • Validate configuration
  • Start dashboard (or debug mode if enabled)

Run via Command Prompt instead of double-clicking:

MagicTradeBot.exe

This allows you to see startup logs.


Running on Linux (VPS / Dedicated Server)

1️⃣ Upload Binary

Use SCP or SFTP:

scp magictradebot user@server:/home/user/

2️⃣ Make Executable

chmod +x magictradebot

3️⃣ Run the Bot

./magictradebot

Use screen:

screen -S mtb
./magictradebot

Detach:

CTRL + A + D

Or use tmux for persistent sessions.


Running on macOS

  1. Download the macOS binary.
  2. Open Terminal.
  3. Navigate to the folder:
cd /path/to/magictradebot
  1. Make executable (if required):
chmod +x magictradebot
  1. Run:
./magictradebot

If macOS blocks execution:

  • Go to System Settings → Security & Privacy
  • Allow execution manually

Running in Docker

Docker is ideal for:

  • Cloud deployments
  • Isolated environments
  • CI/CD pipelines
  • Scalable infrastructure

Basic Dockerfile Example

FROM debian:stable-slim

WORKDIR /app

COPY magictradebot /app/magictradebot
COPY settings /app/settings

RUN chmod +x /app/magictradebot

CMD ["./magictradebot"]

Build Docker Image

docker build -t magictradebot .

Run Container

docker run -d \
  --name mtb \
  -e BINANCE_API_KEY=your_key \
  -e BINANCE_API_SECRET=your_secret \
  magictradebot

This ensures:

  • API keys are injected securely
  • Config file remains clean
  • Containerized environment is isolated

Running on Cloud Servers (AWS / Azure / DigitalOcean)

  • Use Ubuntu 22.04 LTS
  • Minimum 2GB RAM (recommended for multi-symbol scanning)
  • Enable firewall rules
  • Whitelist server IP on exchange
  • Use environment variables for credentials
  • Run via screen or systemd service

Optional: Create systemd Service (Linux Production Setup)

Create:

/etc/systemd/system/magictradebot.service

Example:

[Unit]
Description=MagicTradeBot Service
After=network.target

[Service]
User=root
WorkingDirectory=/root/magictradebot
ExecStart=/root/magictradebot/magictradebot
Restart=always

[Install]
WantedBy=multi-user.target

Enable:

systemctl enable magictradebot
systemctl start magictradebot

This ensures automatic restart on crash or reboot.


Recommended Cloud Configuration

For stable live trading:

  • 2–4 GB RAM minimum
  • Stable internet connection
  • Low latency to exchange servers
  • Disable Debug Mode
  • Enable IP whitelisting on exchange
  • Monitor logs in /logs/ directory

Performance Considerations

If scanning:

  • 300–600+ symbols
  • Multiple strategies
  • Auto-sync enabled

Then use:

  • 4GB+ RAM
  • Multi-core CPU VPS

Rust ensures high efficiency, but hardware still matters.


Summary

MagicTradeBot can run on:

  • Windows (.exe double-click)
  • Linux (binary execution)
  • macOS (terminal execution)
  • Docker (containerized deployment)
  • Cloud VPS environments

Best practice:

  • Use environment variables for API keys
  • Validate YAML before running
  • Disable Debug Mode in production
  • Use screen/systemd on servers
  • Whitelist server IP on exchange

Because it is built in Rust, MagicTradeBot is lightweight, fast, and production-ready across all major platforms.


If you'd like, I can also provide a Production Deployment Checklist (Step-by-Step Secure Setup Guide) for professional server environments.

📎 Related Topics