Skip to main content

Binary Installation

Running Lavalink as a standalone binary is the easiest way to get started. This method works on any platform that supports Java 17 or higher.
This is the recommended method for first-time users and those who want a quick setup.

Prerequisites

Before you begin, ensure you have Java 17 or higher installed on your system.
1

Install Java 17 or higher

Download and install Java from Azul Zulu.Verify your installation by running:
java -version
You should see output indicating Java 17 or higher.
2

Download Lavalink

Download the latest Lavalink.jar from the GitHub releases page.Create a new directory for your Lavalink installation:
mkdir ~/lavalink
cd ~/lavalink
Place the downloaded Lavalink.jar file in this directory.
3

Configure Lavalink

Create an application.yml file in the same directory as Lavalink.jar. This file contains your Lavalink configuration.
Check out the Configuration documentation to learn how to properly configure Lavalink. You can use a Config File or Environment Variables.
Here’s a minimal example to get started:
application.yml
server:
  port: 2333
  address: 0.0.0.0

lavalink:
  server:
    password: "youshallnotpass"
    sources:
      youtube: false
      bandcamp: true
      soundcloud: true
      twitch: true
      vimeo: true
      http: true
      local: false

logging:
  level:
    root: INFO
    lavalink: INFO
Make sure to change the default password to something secure!
4

Run Lavalink

Start Lavalink by running the following command in your installation directory:
java -jar Lavalink.jar
You should see output indicating that Lavalink is starting. Wait for the message:
Started Launcher in X.XXX seconds
Your Lavalink instance is now running and ready to accept connections!
5

Test your connection

You can verify that Lavalink is running by checking the version endpoint:
curl http://localhost:2333/version
This should return version information about your Lavalink instance.

Running in the Background

The basic java -jar Lavalink.jar command will keep Lavalink running only while your terminal is open. For production use, you have several options:

Screen/tmux

Use terminal multiplexers like GNU Screen or tmux to keep the process running when you disconnect.

Systemd Service

Set up Lavalink as a systemd service for automatic startup and management (Linux only).

Docker

Run Lavalink in a Docker container for easy deployment and isolation.

Memory Configuration

By default, Java will allocate memory based on your system’s available RAM. For production use, you should set explicit memory limits:
java -Xmx2G -jar Lavalink.jar
This example allocates 2GB of RAM to Lavalink. Adjust this value based on your needs:
  • Small bot (< 10 servers): 512MB - 1GB
  • Medium bot (10-100 servers): 1GB - 2GB
  • Large bot (100+ servers): 2GB - 4GB+
Monitor your memory usage and adjust accordingly. More memory allows for better audio buffering and stability.

Next Steps

Configuration

Learn how to configure sources, plugins, and advanced settings

Clients

Choose a client library to connect your bot to Lavalink

Troubleshooting

Having issues? Check our troubleshooting guide

API Reference

Explore the REST API documentation

Build docs developers (and LLMs) love