Configuration
Comprehensive guide to configuring AurisLink for your needs.
Server Configuration
Configure the core server settings:
server: {
host: '0.0.0.0', // Bind address
port: 2333, // Server port
password: 'youshallnotpass', // Authentication password
tls: {
enabled: false, // Enable HTTPS
cert: '', // Path to certificate
key: '', // Path to private key
},
http2: {
enabled: false, // Enable HTTP/2
}
}Logging Configuration
Control logging behavior:
logging: {
level: 'info', // 'debug' | 'info' | 'warn' | 'error'
timestamps: true, // Include timestamps in logs
colors: true, // Use colored output
file: {
enabled: false, // Log to file
path: 'logs', // Log directory
}
}Audio Sources
SoundCloud
soundcloud: {
enabled: true,
clientId: 'YOUR_CLIENT_ID', // Get from SoundCloud API
}Deezer
deezer: {
enabled: true,
arl: 'YOUR_ARL_TOKEN', // Deezer session token
decryptionKey: 'YOUR_DECRYPTION_KEY', // 16-character key
}Note: The ARL token is obtained from your Deezer browser session.
Spotify
spotify: {
enabled: true,
market: 'BR', // Market code
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
preferAnonymousToken: false,
}JioSaavn
jiosaavn: {
enabled: true,
playlistLoadLimit: 50, // Max tracks per playlist
artistLoadLimit: 20, // Max tracks per artist
}Cluster Configuration
Configure worker processes and timeouts:
cluster: {
enabled: true,
workers: 1, // Number of workers
commandTimeoutMs: 10_000, // Command timeout
fastCommandTimeoutMs: 5_000, // Fast command timeout
hibernation: {
enabled: true,
timeoutMs: 1_200_000, // 20 minutes
}
}Connection Monitoring
Monitor and manage connection health:
connection: {
logAllChecks: true,
intervalMs: 60_000, // Check interval
timeoutMs: 10_000, // Check timeout
thresholds: {
badMbps: 1, // Bad connection threshold
averageMbps: 5, // Average connection threshold
},
probeUrl: 'https://speed.cloudflare.com/__down?bytes=1000000',
}Performance Tuning
Player Update Interval
playerUpdateInterval: 5_000 - Update player state every 5 seconds
Stats Interval
statsInterval: 60_000 - Broadcast stats every 60 seconds
Track Stuck Threshold
trackStuckThresholdMs: 10_000 - Detect stuck tracks after 10 seconds
Environment Variables
You can also use environment variables to override config values:
AURISLINK_HOST=0.0.0.0 AURISLINK_PORT=2333 AURISLINK_PASSWORD=youshallnotpass SOUNDCLOUD_CLIENT_ID=... SPOTIFY_CLIENT_ID=... SPOTIFY_CLIENT_SECRET=...