Setup

Effortless Deployment

Getting MaestroBot online is dead simple. Whether you use a Pterodactyl Panel or a cloud host, you'll be running in minutes.

Pterodactyl Auto-Deploy (Recommended)

The absolutely easiest way to run Maestro is on a Pterodactyl Panel with 1 MySQL database attached. Updates are pushed automatically via GitHub Actions.

  1. Fork the repo to a personal, private GitHub account.
  2. Create a new Node.js server on your Pterodactyl Panel.
  3. Go to GitHub: Settings > Secrets > Actions and add your panel's SFTP_HOST, SFTP_USERNAME, and SFTP_PASSWORD.
  4. Push any changes or trigger the action. GitHub pushes files to your server automatically!
  5. Rename .env.example to .env on your host. If it doesn't auto-install, run npm install.

The `.env` Heartbeat

You need to power your bot's integrations. You must supply:

  • Discord Credentials: DISCORD_TOKEN, CLIENT_ID, and your personal OWNER_ID.
  • Agent Power: Your ANTHROPIC_API_KEY is strictly required for Claude, plus FIRECRAWL_API_KEY for web scraping.
  • Database: Map your Pterodactyl MySQL to DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME.
  • API Keys: Keys for YouTube, CyberShield, Genius, Tally, and Spotify (Optional, depending on tools enabled).

Deploy & Start

With your `.env` set, sync your slash commands to Discord:

$ npm run deploy

Once deployed successfully, spin up MaestroBot:

$ npm start
Alternatives

Hosting on Cloud Providers

Don't have Pterodactyl? No problem. Railway, Render, or a VPS work perfectly.

  1. Fork the repo (keep it private!) and create a new "Web Service" or "Worker" on Railway/Render.
  2. Provision a MySQL Database add-on and note the credentials.
  3. Inject your `.env` variables into the host's Environment Variables dashboard.
  4. Set your start command to: npm run deploy && npm start
  5. Hit Deploy. The cloud handles the build, dependency installation, and scaling automatically!
Next: Customize Configuration