- Docker & Docker Compose — Docker Desktop is recommended for an easier UI
- Discord bot token — Create one at the Discord Developer Portal
- Plex server with a music library and an authentication token — How to get a Plex token
- A machine to host the bot (can be the same machine as Plex)
git clone https://github.com/kalebbroo/PlexBot.git
cd PlexBotCopy the template and fill in your credentials:
cp RenameMe.env.txt .envEdit .env with your values:
DISCORD_TOKEN=your_discord_bot_token
PLEX_URL=http://your-plex-ip:32400
PLEX_TOKEN=your_plex_tokenThese three are required. All other .env values have working defaults. See the Configuration Guide for the full list.
config.fds is auto-created from the template with sensible defaults when the bot starts for the first time. You don't need to do anything for default settings.
To customize before first run, copy the template and edit it:
cp RenameMe.config.fds config.fdsCustomize player style, progress bar, logging, etc. as needed. See the Configuration Guide for all options.
Windows:
cd Install
win-install.batLinux:
chmod +x ./Install/linux-install.sh
./Install/linux-install.shThe script will:
- Build the PlexBot Docker image (includes .NET 9 SDK, fonts, dependencies)
- Pull the Lavalink 4 image
- Start both containers on a shared Docker network
Check the logs to make sure the bot started successfully:
docker-compose logs -fOr open Docker Desktop and click the PlexBot container group to see logs from both services.
You should see:
- "Lavalink services initialized"
- "Bot is ready"
- The bot appearing online in your Discord server
Run the install script again — it pulls the latest code from GitHub and rebuilds the Docker image:
# Windows
cd Install && win-install.bat
# Linux
./Install/linux-install.sh- Check the logs:
docker-compose logs plexbot - Verify
DISCORD_TOKENis correct in.env - Verify
.envexists at the project root (config.fdsis auto-created if missing)
- Check Lavalink is running:
docker-compose logs lavalink - Ensure the bot has Connect and Speak permissions in the voice channel
- Verify Plex is reachable from the Docker host
- Rebuild the container to ensure fonts are installed:
docker-compose up -d --build
For more detailed troubleshooting, see the Troubleshooting Guide.
- Configuration Guide — All
.envandconfig.fdsoptions - Docker Guide — Container management and customization
- Player UI Guide — Player styles and progress bar setup