Deployment Guide
Deploy JamBot to DigitalOcean’s App Platform for a managed, hassle-free hosting experience.
Quick Deploy
Prerequisites
- A DigitalOcean account (Sign up)
- Discord Bot Token (Setup Guide)
- Spotify API Credentials (Setup Guide)
Step-by-Step Deployment
1. Deploy to App Platform
Option A: One-Click Deploy (Recommended)
- Click the “Deploy to DigitalOcean” button above
- Authorize GitHub access
- Fork or import the repository
Option B: Manual Deployment
- Go to DigitalOcean App Platform
- Click “Create App”
- Select GitHub as your source
- Choose the jambot repository
- Select the main branch
2. Configure Environment Variables
Add these secrets:
| Variable | Description |
|---|---|
DISCORD_BOT_TOKEN | Your Discord bot token |
SPOTIFY_CLIENT_ID | Your Spotify client ID |
SPOTIFY_CLIENT_SECRET | Your Spotify client secret |
3. Deploy the App
- Review the configuration
- Click “Create Resources”
- Wait 2-3 minutes for deployment
- Note your app URL:
https://jambot-xxxxx.ondigitalocean.app
4. Complete Spotify Setup
Update Spotify Redirect URI:
- Go to your Spotify App Dashboard
- Click “Edit Settings”
- Add redirect URI:
https://your-app-url.ondigitalocean.app/callback - Save changes
Authenticate with Spotify:
- Visit your app URL
- Click “Connect with Spotify”
- Authorize the app
5. Configure in Discord
- Add the bot to your server
- Run
/jambot-setupto configure jam leaders and approvers - Run
/jambot-spotify-setupif not already authenticated
6. Test the Bot
Post a test setlist:
Here's the setlist for tonight's jam:
Will the Circle (G)Little Georgia Rose (A)Wabash Cannonball (G)The bot should detect it and start the approval workflow.
Costs
App Platform Pricing
-
Basic Plan: $5/month
- 512 MB RAM
- 1 vCPU
- Perfect for small to medium servers
-
Professional Plan: Starting at $12/month
- More resources for larger servers
Database Storage
SQLite is stored in the container filesystem:
- ✅ Free (included with your app)
- ✅ Data persists between deploys
- ⚠️ Destroying the app deletes data
Monitoring
View Logs
- Go to your app in App Platform
- Click on the jambot service
- Click “Runtime Logs”
Health Checks
App Platform monitors your app at:
https://your-app-url.ondigitalocean.app/healthFailed health checks trigger automatic restarts.
Updating
Automatic Updates
With “Auto-Deploy” enabled, pushing to GitHub triggers automatic deployment.
Manual Updates
- Go to App Platform console
- Click “Deploy” → “Deploy latest commit”
Advanced Configuration
Custom Domain
- Go to app Settings → Domains
- Add your custom domain
- Update DNS records
- Update Spotify redirect URI
Scaling
For more traffic:
- Change instance size to Professional
- Increase instance count for high availability
Troubleshooting
Bot Shows Offline
- Check runtime logs for errors
- Verify
DISCORD_BOT_TOKENis correct - Ensure app is running
Spotify Authentication Fails
- Verify redirect URI matches in Spotify dashboard
- Check client ID and secret
- Visit
/to see authentication status
Build Failures
- Check all environment variables are set
- Verify Dockerfile is valid
- Review build logs
Alternative Deployment Options
- Droplet + Docker: Full persistence, $6/month
- App Platform + Managed DB: Production-ready, $20/month
- Self-hosted: Free, your own server