Unofficial browser-based Docker container for running LRCGET on Unraid.
LRCGET for Unraid packages the upstream LRCGET desktop application into a Docker container that can be opened from a web browser on Unraid.
LRCGET itself is developed by tranxuanthang. This repository is not the upstream LRCGET project and is not an official LRCGET release channel. It is an unofficial Unraid-friendly container wrapper that installs the upstream Linux build and exposes it through a browser-based desktop session.
Upstream LRCGET app
│
│ Linux .deb release
▼
lrcget-unraid Docker image
│
│ Browser GUI + browser audio on port 5800
▼
Unraid Community Applications
LRCGET is a utility for mass-downloading synced .lrc lyrics for offline music libraries. It can scan a music directory, match tracks, and download synced lyrics using LRCLIB.
This container simply makes that desktop app easier to run on Unraid.
ghcr.io/crywolf203/lrcget-unraid:latest
Versioned tags may also be available:
ghcr.io/crywolf203/lrcget-unraid:2.1.0
LRCGET is a desktop/Tauri application. Unraid servers normally do not run desktop applications directly. This container uses a browser-accessible GUI base image so LRCGET can run on your server and be controlled through a web browser.
Open the app at:
http://YOUR-UNRAID-IP:5800
- Browser-based LRCGET desktop interface
- Browser audio support through the WebUI with
WEB_AUDIO=1 - Designed for Unraid Community Applications
- Uses the upstream LRCGET Linux
.debbuild - Persistent app data through
/config - Music library mapping through
/music - Web UI on port
5800 - Software-rendering variables included to help avoid black-screen behavior
- Tuned for large Unraid music libraries
- Automated GitHub Actions builds for new upstream LRCGET releases
Install from Unraid Community Applications when available.
Search for:
LRCGET
Manual repository value:
ghcr.io/crywolf203/lrcget-unraid:latest
Recommended WebUI:
http://[IP]:[PORT:5800]
Recommended extra parameters:
--shm-size=8g --cap-add=SYS_NICE --tmpfs /tmp:rw,size=8g
For smaller systems, reduce 8g to 2g or 4g.
| Container Path | Example Host Path | Access | Purpose |
|---|---|---|---|
/config |
/mnt/user/appdata/lrcget |
Read/Write | Stores LRCGET settings, database, cache, and app state |
/music |
/mnt/user/media/music |
Read/Write recommended | Your music library inside the container |
This should point to persistent appdata.
Recommended:
/mnt/user/appdata/lrcget
Cache path example:
/mnt/cache/appdata/lrcget
This should point to your actual music library.
Example:
/mnt/user/media/music
Inside LRCGET, select:
/music
as the library folder.
Use Read/Write access if you want LRCGET to export .lrc sidecar files beside your music.
| Container Port | Host Port | Required | Purpose |
|---|---|---|---|
5800 |
5800 |
Yes | Browser-based LRCGET GUI and browser audio |
5900 |
Optional | No | Direct VNC access, usually not needed |
Most Unraid users only need:
5800:5800
Audio works through the browser WebUI on port 5800. Direct VNC audio is not required and is not recommended for normal Unraid use.
| Variable | Recommended | Description |
|---|---|---|
USER_ID |
99 |
Runs the app as the Unraid nobody user. |
GROUP_ID |
100 |
Runs the app as the Unraid users group. |
UMASK |
000 |
Helps avoid permission issues when writing .lrc files to shared media folders. |
TZ |
America/New_York |
Sets the container timezone. Change this to your timezone. |
| Variable | Recommended | Description |
|---|---|---|
KEEP_APP_RUNNING |
1 |
Restarts the GUI app if it exits. |
WEB_AUDIO |
1 |
Enables browser-based audio streaming from the container WebUI. Audio works through port 5800, not VNC. |
DISPLAY_WIDTH |
1920 |
Virtual desktop width. |
DISPLAY_HEIGHT |
1080 |
Virtual desktop height. |
ENABLE_CJK_FONT |
1 |
Enables better Chinese/Japanese/Korean character support. |
APP_NICENESS |
-10 |
Raises app priority. Requires --cap-add=SYS_NICE. |
These are included because LRCGET is a WebKit/Tauri desktop app running inside a containerized GUI session.
| Variable | Recommended | Description |
|---|---|---|
GDK_BACKEND |
x11 |
Forces GTK to use X11 inside the container. |
LIBGL_ALWAYS_SOFTWARE |
1 |
Uses software rendering instead of relying on host GPU acceleration. |
WEBKIT_DISABLE_DMABUF_RENDERER |
1 |
Helps avoid WebKit blank/black screen issues in containers. |
WEBKIT_DISABLE_COMPOSITING_MODE |
1 |
Disables WebKit compositing mode for better compatibility. |
NO_AT_BRIDGE |
1 |
Disables accessibility bridge warnings/noise in GTK environments. |
Recommended:
--shm-size=8g --cap-add=SYS_NICE --tmpfs /tmp:rw,size=8g
| Parameter | Description |
|---|---|
--shm-size=8g |
Gives the browser-based GUI more shared memory. |
--cap-add=SYS_NICE |
Required when using negative APP_NICENESS values. |
--tmpfs /tmp:rw,size=8g |
Places temporary files in RAM-backed storage for better responsiveness. |
-
Open the Web UI:
http://YOUR-UNRAID-IP:5800 -
In LRCGET, choose your mapped music folder:
/music -
Scan your library.
-
Download lyrics.
-
Export lyrics when you want
.lrcfiles written beside your tracks.
LRCGET 2.x stores lyrics internally first. Use the export feature when you want sidecar .lrc files created in your music folders.
services:
lrcget:
image: ghcr.io/crywolf203/lrcget-unraid:latest
container_name: lrcget
restart: unless-stopped
ports:
- "5800:5800"
environment:
USER_ID: "99"
GROUP_ID: "100"
UMASK: "000"
TZ: "America/New_York"
KEEP_APP_RUNNING: "1"
WEB_AUDIO: "1"
DISPLAY_WIDTH: "1920"
DISPLAY_HEIGHT: "1080"
ENABLE_CJK_FONT: "1"
APP_NICENESS: "-10"
GDK_BACKEND: "x11"
LIBGL_ALWAYS_SOFTWARE: "1"
WEBKIT_DISABLE_DMABUF_RENDERER: "1"
WEBKIT_DISABLE_COMPOSITING_MODE: "1"
NO_AT_BRIDGE: "1"
volumes:
- /mnt/user/appdata/lrcget:/config
- /mnt/user/media/music:/music
shm_size: "8gb"
cap_add:
- SYS_NICE
tmpfs:
- /tmp:rw,size=8gdocker run -d \
--name lrcget \
--restart unless-stopped \
-p 5800:5800 \
-e USER_ID=99 \
-e GROUP_ID=100 \
-e UMASK=000 \
-e TZ=America/New_York \
-e KEEP_APP_RUNNING=1 \
-e WEB_AUDIO=1 \
-e DISPLAY_WIDTH=1920 \
-e DISPLAY_HEIGHT=1080 \
-e ENABLE_CJK_FONT=1 \
-e APP_NICENESS=-10 \
-e GDK_BACKEND=x11 \
-e LIBGL_ALWAYS_SOFTWARE=1 \
-e WEBKIT_DISABLE_DMABUF_RENDERER=1 \
-e WEBKIT_DISABLE_COMPOSITING_MODE=1 \
-e NO_AT_BRIDGE=1 \
-v /mnt/user/appdata/lrcget:/config \
-v /mnt/user/media/music:/music \
--shm-size=8g \
--cap-add=SYS_NICE \
--tmpfs /tmp:rw,size=8g \
ghcr.io/crywolf203/lrcget-unraid:latestThe image is built through GitHub Actions.
The workflow checks the latest upstream LRCGET release and builds the Docker image using that version. Unraid users using the latest tag should receive updates through the normal Docker update flow when a new image is published.
Make sure these variables are present:
GDK_BACKEND=x11
LIBGL_ALWAYS_SOFTWARE=1
WEBKIT_DISABLE_DMABUF_RENDERER=1
WEBKIT_DISABLE_COMPOSITING_MODE=1
NO_AT_BRIDGE=1
This image uses the upstream Linux .deb package rather than the AppImage because the .deb build has worked better in this browser-based Unraid container setup.
Make sure this variable is set:
WEB_AUDIO=1
Audio works through the browser WebUI on port 5800, not through VNC. Make sure the browser tab is not muted and that your browser allows audio playback for the Unraid WebUI page.
Make sure this is included in Extra Parameters:
--cap-add=SYS_NICE
Or set:
APP_NICENESS=0
Port 5900 is optional. Remove it unless you specifically want direct VNC access.
The browser GUI uses:
5800
Use LRCGET's export feature. LRCGET 2.x stores lyrics internally first and exports sidecar .lrc files when requested.
Check:
USER_ID=99
GROUP_ID=100
UMASK=000
Also confirm that your /music mapping is Read/Write.
| Project | Link |
|---|---|
| Upstream LRCGET | https://github.com/tranxuanthang/lrcget |
| LRCLIB | https://lrclib.net |
| This Docker image | https://github.com/crywolf203/lrcget-unraid |
| GHCR package | https://github.com/crywolf203/lrcget-unraid/pkgs/container/lrcget-unraid |
| Unraid template repo | https://github.com/crywolf203/unraid-templates |
| GUI base image | https://github.com/jlesage/docker-baseimage-gui |
All credit for the LRCGET application goes to the upstream LRCGET project and its developer.
This repository only provides an Unraid-friendly Docker image and template experience around the upstream app.
This project is an unofficial Unraid wrapper for the upstream LRCGET application.
If you find LRCGET useful, please consider supporting the upstream LRCGET/LRCLIB developer first. LRCGET and LRCLIB are developed by the upstream project, while this repository only maintains the Unraid Docker/container experience around that work.
If this Unraid container/template helped you, you can also support my maintenance work here:
Thank you for supporting open-source developers and community-maintained Unraid templates.
This is an unofficial Docker container for LRCGET.
For issues with this Docker image, Unraid template, paths, permissions, or the browser GUI container, open an issue here:
https://github.com/crywolf203/lrcget-unraid/issues
For issues with the LRCGET application itself, use the upstream repository:
https://github.com/tranxuanthang/lrcget
This container repository is licensed under the MIT License.
LRCGET itself is licensed and maintained by the upstream LRCGET project. See the upstream repository for its license and source code.