Skip to content

Docker Deployment ​

Docker is the easiest way to get LavaMusic up and running with a single command. It handles all dependencies, databases, and networking for you.


Prerequisites ​

Before starting, ensure you have the following installed:


Quick Start ​

1. Prepare Configuration ​

Copy the template files and fill in your bot token and other credentials in the .env file.

bash
cp .env.example .env
cp Lavalink/example.application.yml Lavalink/application.yml

2. Launch with Profiles ​

LavaMusic uses Docker Compose Profiles so you can choose exactly what you need.

This launches the Bot, a local Lavalink node, and uses PGLite for the database.

bash
docker compose --profile lavalink up -d

Lightweight Setup ​

Use this if you are using an external Lavalink node (e.g., from a provider).

bash
docker compose up -d

Full Production Setup ​

Runs the Bot, Lavalink, and a dedicated PostgreSQL database container.

bash
docker compose --profile all up -d

Maintenance ​

Updating the Bot ​

To update to the latest version of LavaMusic, use the following commands:

bash
docker compose pull
docker compose up -d --force-recreate

Note: Make sure to use the same profiles (e.g., --profile lavalink) you used during the initial setup.


Technical Notes ​

Persistence ​

The database data is stored in a volume named lavamusic_data by default. This ensures your playlists and settings are not lost when the container restarts.

Environment Variables ​

Most configuration can be done directly in the .env file. Docker Compose will automatically inject these into the container environments.

NEED HELP?

If you encounter any issues with Docker, feel free to join our Support Server for assistance!

Released under the GPL-3.0 License.