Lavalink hosting: the audio node your music bot needs, in one click
Pick Lavalink from the app catalog, set a password, deploy. It runs from the official image on a Starter plan with 1 GB, listens on port 2333 on your private network only, and your bot, hosted here too, reaches it by its private name.
How the bot connects
The Lavalink app's page shows its private name, bot-xxxx. In your bot's environment set LAVALINK_HOST to that name, LAVALINK_PORT to 2333 and LAVALINK_PASSWORD to the password you chose, and point your library at them. Both apps sit on your private network, so nothing is exposed to the internet and nothing needs a port opened.
Plugins and sources
Lavalink 4 ships with the sources the image enables; YouTube needs the youtube-source plugin and Spotify needs LavaSrc, both configured through the app's environment or an application.yml you upload under /data and point the node at. The Lavalink documentation lists the settings; the app's Environment page is where they go.
Sizing
Lavalink is a Java program with a 256 MB heap by default on Starter; a bot playing in a handful of servers at once is fine there. Twenty concurrent streams want Standard with 2 GB. The node never sleeps on any paid tier.
Frequently asked questions
Can my bot on another host use it?
Yes. Switch on the public port on the node's page ($2 a month) and it listens on a fixed port of its node's public address, protected by the password you set. A bot hosted here reaches it by its private name at no extra cost.
Do I need Java?
No. The image carries its own Java runtime; you set a password and deploy.
Which libraries work?
Any Lavalink v4 client: lavalink-client, Shoukaku, erela.js forks and Poru for discord.js; Wavelink and Lavalink.py for discord.py; Lavaplayer for JDA.
How do I update it?
Press Redeploy on the app's page: the latest Lavalink 4 image is pulled and the node restarts.