A free and open source self hosted solution for grabbing lyrics for your Plex Music Libraries.
First and foremost, checkout tranzuanthang's lrcget this was the main inspiration behind Lyric-Sync. If you're looking for an offline solution, then lrcget is your answer. tranxuanthang is also the individual behind lrclib.net which is currently the only lyric source that Lyric-Synce supports (more to come in the future)
- Connect with your personal Plex Server

- Grab lyrics for multiple music libraries

- View all library Artists and their sync progress

- View all Albums by a specific artist

- View an Album and all of its tracks

- Sync individual tracks with the click of a button

Docker is the recommended way to run Lyric-Sync. It just makes things easier.
Lyric-Sync must have access to your Plex Music library and the root directory must be named exactly the same. If Plex says song2 is at path /music/artist/song2.flac, then Lyric-Sync should see it there as well, otherwise Lyric-Sync won't be able to find music where Plex is telling it to.
Here is a sample docker-compose.yml
services:
lyric-sync:
image: ghcr.io/phishbacon/lyric-sync:main
container_name: lyric-sync
environment:
- ORIGIN=http://where-lyric-sync-is-running:3000
- DATABASE_URL=file:/your-music-library/lyric-sync.db
volumes:
- /your-music-library:/your-music-library
ports:
- "3000:3000" # lyric sync runs on port 3000
restart: unless-stoppeddocker-compose up -d and you're on your way.
Or the old fashioned way
# grab the latest image
docker pull ghcr.io/phishbacon/lyric-sync:main
# and run
docker run -p 3000:3000 \
-e ORIGIN=http://where-lyric-sync-is-running:3000 \
-e DATABASE_URL=file:/your-music-library/lyric-sync.db \
--volume /your-music-library:/your-music-library \
--name lyric-sync \
-i ghcr.io/phishbacon/lyric-sync:mainYou can also build Lyric-Sync yourself if you don't wish to run it in a container.
# clone this repo
git clone git@github.com:phishbacon/lyric-sync.git
# cd into the project directory
cd lyric-sync
# install dependencies
pnpm install
# copy the .env.example file and rename it to .env
cp .env.example .env
# build it
pnpm build
# start Lyric-Sync
node buildLyric-Sync is an open source project, it is made possible with contributors like you.
The best way to start contributing to Lyric-Sync is by having access to an instance of Plex. This way, you can populate the database with real data and get real responses back from Plex.
# clone this repo
git clone git@github.com:phishbacon/lyric-sync.git
# cd into the project directory
cd lyric-sync
# install dependencies
pnpm install
# copy the .env.example file and rename it to .env
cp .env.example .env
# start the project
pnpm devOpen an issue!