✨ Features
🎮 Interaction support (slash commands and buttons)
📺 Request channel feature for seamless music experience
🚀 Production-ready, no coding required
⚙️ Configurable and easy to use
🎵 Basic music commands (play, pause, skip, queue, etc.)
🌍 Multi-language support (12 languages)
🔄 Multi-cookie rotation for uninterrupted playback
⚡ Smart audio pre-caching for smoother playback
🎶 Support for multiple music platforms (video sites, Spotify, SoundCloud)
📋 Full playlist support (including large 100+ songs playlists)
📋 Requirements
Node.js version 22.12.0 or higher
Discord Bot Token (get from Discord Developer Portal)
Optional: Spotify API credentials for Spotify support
💻 Standard Setup (Node.js)
Download and install Node.js version 22.12.0 or higher
Clone or download this repository
Copy .env_example to .env and fill in the required values (at minimum: DISCORD_TOKEN)
Install dependencies: pnpm install
Build the project: pnpm run build
Start the bot: pnpm start
(Optional) After the bot is online, set up a dedicated music channel:
<prefix>requestchannel <#channel>
# Example: !requestchannel #music-requests🐳 Docker Setup (Recommended)
Using Docker Compose
Create a .env file with your configuration (copy from .env_example)
Create a docker-compose.yaml file (see example below)
Start the bot: docker compose up -d
View logs: docker logs -f rawon-bot
1
2
3
4
5
6
7
8
9
10
11
services:
rawon:
image: ghcr.io/stegripe/rawon:latest
container_name: rawon-bot
restart: unless-stopped
env_file: .env
volumes:
- rawon:/app/cache
volumes:
rawon:Using Docker Run
docker run -d \
--name rawon-bot \
--env-file .env \
-v rawon:/app/cache \
--restart unless-stopped \
ghcr.io/stegripe/rawon:latest📁 Volume Information
The /app/cache volume stores:
yt-dlp binary for audio streaming
data.json for persistent settings (request channels, player states)
Cached audio files (if audio caching is enabled)
Cookie files for video platform authentication
🚂 Railway Deployment
Railway provides $5 free credits monthly. Your bot will stay online 24/7 as long as usage stays under $5.
⚠️ IMPORTANT: Read Disclaimers before deploying to Railway.
🍪 Quick Start: Cookies Setup
If you're hosting on cloud providers (AWS, GCP, Azure, Railway, etc.), you may get "Sign in to confirm you're not a bot" errors. Fix it easily with the cookies command:
Export cookies from your browser (see Cookies Setup guide)
In Discord, type: !cookies add 1
Attach your cookies.txt file to the message
Done! The cookie takes effect immediately
💡 You can add multiple cookies for redundancy. When one fails, Rawon automatically switches to the next one!