Media Library Management System is a software that collects, manages, and organizes media files for you. They come in handy when you need to differentiate and store audio files in different directories on your system and allow you to manipulate and access your media files. The most common Media Libraries are VLC, Plex, and iTunes.

Beets Media Library Management System

Beets is one of the Media Library Management systems that is an open-source command-line music organizer for music geeks. It allows you to manipulate and customize the directory structure and the file names.


  • MDB compatible music player.
  • Support Manipulation of files like renaming your music collection.
  • Batch audio file transcoder to any format you want.
  • Built-in Web interface to browse your music graphically.
  • Has plugins that can fetch lyrics.
  • Analyze music file metadata.
  • Check your library for duplicate tracks and albums or for albums that are missing tracks.

This guide will show you how to install and configure Beets Media Library Management System on Ubuntu / Debian.

Install Beets on Ubuntu Linux system

Update your system packages.

sudo apt update && sudo apt upgrade -y

Option 1. Install from the APT repository

You will need Python 3.6 or later installed which Beets works with.

sudo apt install python3

Check the python version using the following command.

$ python --version
Python 3.8.10

Then install Beets with the following command.

sudo apt install beets

Option 2. Install Using Pip2 / Pip3

Install pip and python using the following command.

sudo apt install python3-dev python3-pip
sudo -H pip3 install --upgrade pip

Check the version using the following command.

$ python3 --version
Python 3.8.10

Then install Beets.

# Global system install
sudo pip3 install beets

# User space install
pip3 install beets --user

Upgrade using the following command.

sudo pip3 install -U beets

Configure Beets on Ubuntu

Edit the configuration file. It uses the YAML format, hence keep note of spaces.

nano ~/.config/beets/config.yaml

You can also open the file with the following command and edit it with your favorite text editor then save the file.

$ beet config -e

You can add the path of the directory where you would keep your music.

directory: ~/music
library: ~/data/musiclibrary.db

To move music to a directory instead of copying it, add the following line. This saves on disk space.

    move: yes

To disable renaming and tag-writing, add the following line.

    copy: no
    write: no

Save the file and exit. More configurations can be found in the official configuration document.

Importing Library

To import your music library on the Beets library database in a quick method, use the following command.

beet import -A {directory}

To Import using beets auto tagger, use the following command and the directory is where your music is.

$ beet import {directory}

The auto-tagger makes sure all your songs’ tags are exactly right from the get-go.

Add Music

To add more music, use the beet import command.

$ beet import ~/some_great_album

Let’s say I was importing the ANTI album I have on my Downloads folder, I will use the following command.

$ beet import ~/Downloads/ANTI
/home/ann/Downloads/ANTI (16 items)
    Rihanna - ANTI
(Similarity: 98.7%) (label, tracks) (Digital Media, 2016, XW, Rihanna, deluxe, clean)
 * Consideration (feat. SZA) -> Consideration (title)
 * Work (feat. Drake)        -> Work (title)
 * Love On The Brain         -> Love on the Brain
 * Close To You              -> Close to You

To add a single track from an album

$ beet import -s <path>

To list all music in the library.

$ beet ls

To list all albums

$ beet ls -a 
Beyoncé - Lemonade
Nicki Minaj - Queen
Rihanna - ANTI

To remove music from your Library

$ beet rm <part of name>

To remove an album

$ beet rm -a <part of name>

Access Beets Web UI

The web interface depends on flask. Install it using the following command

$ pip install flask

Add a web plugin in the config file with the following options


    port: 8337

Type the following command, which will start the web server.

$ beet web
 * Serving Flask app 'beetsplug.web' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on all addresses (
   WARNING: This is a development server. Do not use it in a production deployment.
 * Running on
 * Running on (Press CTRL+C to quit)

Then go to http://localhost:8337/ to access the web UI.

Removing Beets

To remove Beets and all the configuration data, use the following command.

sudo apt  purge --auto-remove beets


From this guide, we have learned about Beets Media Library Management System. We have also seen how to install and configure Beets on ubuntu. Beets can be used as a command-line tool or via a web interface to manipulate and organize your music collection.


Please enter your comment!
Please enter your name here