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.
- Fork the repo to a personal, private GitHub account.
- Create a new Node.js server on your Pterodactyl Panel.
- Go to GitHub: Settings > Secrets > Actions and add your panel's
SFTP_HOST,SFTP_USERNAME, andSFTP_PASSWORD. - Push any changes or trigger the action. GitHub pushes files to your server automatically!
- Rename
.env.exampleto.envon your host. If it doesn't auto-install, runnpm install.
The `.env` Heartbeat
You need to power your bot's integrations. You must supply:
- Discord Credentials:
DISCORD_TOKEN,CLIENT_ID, and your personalOWNER_ID. - Agent Power: Your
ANTHROPIC_API_KEYis strictly required for Claude, plusFIRECRAWL_API_KEYfor 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
Hosting on Cloud Providers
Don't have Pterodactyl? No problem. Railway, Render, or a VPS work perfectly.
- Fork the repo (keep it private!) and create a new "Web Service" or "Worker" on Railway/Render.
- Provision a MySQL Database add-on and note the credentials.
- Inject your `.env` variables into the host's Environment Variables dashboard.
- Set your start command to:
npm run deploy && npm start - Hit Deploy. The cloud handles the build, dependency installation, and scaling automatically!